From: "jemc (Joe McIlvain)" Date: 2014-01-07T16:15:03+09:00 Subject: [ruby-core:59619] [ruby-trunk - Bug #9377][Open] Seg fault on call of missing super from self.extended in a Module Issue #9377 has been reported by jemc (Joe McIlvain). ---------------------------------------- Bug #9377: Seg fault on call of missing super from self.extended in a Module https://bugs.ruby-lang.org/issues/9377 Author: jemc (Joe McIlvain) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 2.1.0 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN Seg fault on call of missing super from self.extended in a Module on 2.1.0-p0 and on 2.1.0-dev x86_64 linux Code to reproduce: ``` module A def foo; super end def self.extended(obj) instance_method(:foo).bind(obj).call end end Object.new.extend A ``` (stack trace is attached) Note that calling from after extend is okay: (but raises missing super error) ``` module A def foo; super end end Object.new.extend(A).foo #=> in `foo': super: no superclass method `foo' for # (NoMethodError) ``` Also note that calling from within the extend as before, but having the method defined is also okay (and raises no error) ``` module ABase def foo; end end module A include ABase def foo; super end def self.extended(obj) instance_method(:foo).bind(obj).call end end Object.new.extend A ``` -- http://bugs.ruby-lang.org/