Bug #3351: stack overflow on super
http://redmine.ruby-lang.org/issues/show/3351

Author: Serge Balyuk
Status: Open, Priority: Normal
Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]

It looks like `super` behavior is a bit different in 1.8 and 1.9. Please find the example below:

class Base
  def foo
    puts "bar"
  end
end

module Override
  def foo
    puts "override"
    super
  end
end


class A < Base
end

class B < A
end

B.send(:include, Override)
A.send(:include, Override)

B.new.foo

ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux] output:


override
override
bar


and ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux] output:

....
override
override
override
override
override
super.rb:9: stack level too deep (SystemStackError)


Hope that helps.


----------------------------------------
http://redmine.ruby-lang.org