Hi Alexey,

Looks like you found a bug in super :) Would you be willing to contribute a snippet for test_vm/dispatch.rb? This is where we keep all these weird cases to make sure we won't forget to fix them.

You can run the test using

$ ruby test_vm.rb --ruby=../miniruby dispatch

And also 1.9 (assuming "ruby19" is in your path)

$ ruby test_vm.rb --ruby=ruby19 dispatch

Laurent

On Aug 31, 2009, at 2:04 PM, Alexey Borzenkov wrote:

On Tue, Sep 1, 2009 at 1:01 AM, Alexey Borzenkov<sna...@gmail.com> wrote:
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. :-/

Correction: if I printed before calling super I'd see that it causes
infinite recursion. Seems like it shouldn't be doing that...
_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to