From: "nobu (Nobuyoshi Nakada)" Date: 2014-01-08T19:58:55+09:00 Subject: [ruby-core:59643] [ruby-trunk - Bug #9377] Seg fault on call of missing super from self.extended in a Module Issue #9377 has been updated by nobu (Nobuyoshi Nakada). Description updated ---------------------------------------- Bug #9377: Seg fault on call of missing super from self.extended in a Module https://bugs.ruby-lang.org/issues/9377#change-44169 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 =begin 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 =end -- http://bugs.ruby-lang.org/