[MacRuby-devel] Segmentation fault for classes with multiple modules chained with super

Alexey Borzenkov snaury at gmail.com
Mon Aug 31 14:01:45 PDT 2009


The following program causes segmentation fault for me with the latest
macruby trunk:

class A
  def somemethod
    puts "A::somemethod"
  end
end

module B
  def somemethod
    super
    puts "B::somemethod"
  end
end

module C
  def somemethod
    super
    puts "C::somemethod"
  end
end

class D < A
  include B
  include C
  def somemethod
    super
    puts "D::somemethod"
  end
end

obj = D.new
obj.somemethod

Thanks to http://weblog.rubyonrails.org/2009/8/31/three-reasons-love-responder
I just found that modules can be chained via super like that, so I
immediately went to check it out, and in MRI 1.8 it works fine. I
wanted to see it in 1.9, so I checked with macruby and it caused
segmentation fault. I recompiled latest macruby trunk and it's still
happening. As stated in the README.rdoc I'm using llvm trunk at
revision 72741. Is it llvm or macruby bug? Oddly, under gdb it just
freezes, can't even see any stack trace. :-/


More information about the MacRuby-devel mailing list