* [ruby-core:37387] [Ruby 1.9 - Bug #3351][Assigned] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
@ 2011-06-26 5:58 ` Yui NARUSE
2011-06-28 14:28 ` [ruby-core:37634] [Ruby 1.9 - Bug #3351] " Yura Sokolov
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Yui NARUSE @ 2011-06-26 5:58 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Yui NARUSE.
Status changed from Open to Assigned
Assignee set to Koichi Sasada
Target version changed from 1.9.x to 1.9.3
----------------------------------------
Bug #3351: stack overflow on super
http://redmine.ruby-lang.org/issues/3351
Author: Serge Balyuk
Status: Assigned
Priority: Low
Assignee: Koichi Sasada
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://redmine.ruby-lang.org
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:37634] [Ruby 1.9 - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
2011-06-26 5:58 ` [ruby-core:37387] [Ruby 1.9 - Bug #3351][Assigned] stack overflow on super Yui NARUSE
@ 2011-06-28 14:28 ` Yura Sokolov
2011-07-10 5:28 ` [ruby-core:37953] " Koichi Sasada
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Yura Sokolov @ 2011-06-28 14:28 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Yura Sokolov.
I had catched by this with rails/sequel/custom backend for delayed_jobs.
After figuring, I ought to do some manipulations with requiring my initializators, and that looks ugly a bit.
----------------------------------------
Bug #3351: stack overflow on super
http://redmine.ruby-lang.org/issues/3351
Author: Serge Balyuk
Status: Assigned
Priority: Low
Assignee: Koichi Sasada
Category: core
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://redmine.ruby-lang.org
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:37953] [Ruby 1.9 - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
2011-06-26 5:58 ` [ruby-core:37387] [Ruby 1.9 - Bug #3351][Assigned] stack overflow on super Yui NARUSE
2011-06-28 14:28 ` [ruby-core:37634] [Ruby 1.9 - Bug #3351] " Yura Sokolov
@ 2011-07-10 5:28 ` Koichi Sasada
2012-08-03 16:35 ` [ruby-core:46968] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: Koichi Sasada @ 2011-07-10 5:28 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Koichi Sasada.
Target version changed from 1.9.3 to 1.9.x
I'll challenge this issue on 1.9.4. Sorry.
----------------------------------------
Bug #3351: stack overflow on super
http://redmine.ruby-lang.org/issues/3351
Author: Serge Balyuk
Status: Assigned
Priority: Low
Assignee: Koichi Sasada
Category: core
Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://redmine.ruby-lang.org
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:46968] [ruby-trunk - Bug #3351][Open] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (2 preceding siblings ...)
2011-07-10 5:28 ` [ruby-core:37953] " Koichi Sasada
@ 2012-08-03 16:35 ` shugo (Shugo Maeda)
2012-10-01 11:24 ` [ruby-core:47772] [ruby-trunk - Bug #3351] " fahmisetiawan (Fahmi Setiawan)
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: shugo (Shugo Maeda) @ 2012-08-03 16:35 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by shugo (Shugo Maeda).
Status changed from Closed to Open
In HEAD of trunk, stack overflow doesn't occur, but Override#foo is called only once.
So I reopen this ticket.
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-28630
Author: serge_balyuk (Serge Balyuk)
Status: Open
Priority: Low
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:47772] [ruby-trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (3 preceding siblings ...)
2012-08-03 16:35 ` [ruby-core:46968] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
@ 2012-10-01 11:24 ` fahmisetiawan (Fahmi Setiawan)
2012-11-28 13:35 ` [ruby-core:50257] " ko1 (Koichi Sasada)
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: fahmisetiawan (Fahmi Setiawan) @ 2012-10-01 11:24 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by fahmisetiawan (Fahmi Setiawan).
http://alkian.blogspot.com/2012/09/cara-menyembuhkan-asam-urat-dan-kolestrol-secara-alami.html
http://alkian.blogspot.com/2012/09/keretamini-keretamall-komediputar-ya-keretaminikucom.html
http://alkian.blogspot.com/2012/09/harga-spesifikasi-samsung-galaxy-y-duos-terbaru.html
http://alkian.blogspot.com/2012/09/download-one-piece-grand-battle-2.html
http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-toyota-agya.html
http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-daihatsu-ayla.html
http://alkian.blogspot.com/2012/09/download-harvestmoon-backtonature-bahasa-indonesia.html
http://alkian.blogspot.com/2012/09/download-gratis-game-onet-untuk-windows.html
http://alkian.blogspot.com/2012/09/cara-download-dengan-jumbofiles.html
http://alkian.blogspot.com/2012/09/cara-mengganti-bahasa-indonesia-di-blackbery.html
http://alkian.blogspot.com/2012/09/free-download-windows-xp-sp3-black-edition-terbaru-full-version-2012.html
http://alkian.blogspot.com/2012/09/free-download-kamus-bahasa-arab.html
http://alkian.blogspot.com/2012/09/free-download-corel-draw-x5-portable.html
http://alkian.blogspot.com/2012/09/cara-membuat-related-post-artikel-terkait.html
http://alkian.blogspot.com/2012/09/daftar-harga-lengkap-hp-mito-terbaru.html
http://alkian.blogspot.com/2012/09/download-theme-tron-legacy-for-windows-7.html
http://alkian.blogspot.com/2012/09/download-alquran-digital-3d-untuk-pc-komputer.html
http://alkian.blogspot.com/2012/09/kumpulan-kata-kata-renungan-terbaik-2012.html
http://alkian.blogspot.com/2012/09/kumpulan-website-sosbuk-social-bookmarking.html
http://alkian.blogspot.com/2012/09/template-seo-friendly-simple-blue.html
http://alkian.blogspot.com/2012/09/harga-hp-nokia-september-2012-terbaru.html
http://alkian.blogspot.com/2012/09/foto-ariel-noah-terbaru.html
http://alkian.blogspot.com/2012/09/download-serial-number-windows-seven.html
http://alkian.blogspot.com/2012/09/biodata-foto-iqbaal-dhiafakhri-ramadhan.html
http://alkian.blogspot.com/2012/09/harga-dan-spesifikasi-samsung-galaxy-camera.html
http://alkian.blogspot.com/2012/09/biodata-akb48-lengkap-dengan-foto.html
http://alkian.blogspot.com/2012/08/arti-dan-makna-kata-noah.html
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-29897
Author: serge_balyuk (Serge Balyuk)
Status: Open
Priority: Low
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:50257] [ruby-trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (4 preceding siblings ...)
2012-10-01 11:24 ` [ruby-core:47772] [ruby-trunk - Bug #3351] " fahmisetiawan (Fahmi Setiawan)
@ 2012-11-28 13:35 ` ko1 (Koichi Sasada)
2012-12-09 15:28 ` [ruby-core:50716] [ruby-trunk - Bug #3351][Assigned] " mame (Yusuke Endoh)
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ko1 (Koichi Sasada) @ 2012-11-28 13:35 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by ko1 (Koichi Sasada).
shugo-san, do you know why Override#foo called only once?
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-34083
Author: serge_balyuk (Serge Balyuk)
Status: Open
Priority: Low
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:50716] [ruby-trunk - Bug #3351][Assigned] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (5 preceding siblings ...)
2012-11-28 13:35 ` [ruby-core:50257] " ko1 (Koichi Sasada)
@ 2012-12-09 15:28 ` mame (Yusuke Endoh)
2012-12-13 5:24 ` [ruby-core:50857] [ruby-trunk - Bug #3351] " shugo (Shugo Maeda)
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: mame (Yusuke Endoh) @ 2012-12-09 15:28 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by mame (Yusuke Endoh).
Status changed from Open to Assigned
Assignee changed from ko1 (Koichi Sasada) to shugo (Shugo Maeda)
Shugo-san, ko1, what's the status?
Do you think this issue important?
--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-34563
Author: serge_balyuk (Serge Balyuk)
Status: Assigned
Priority: Low
Assignee: shugo (Shugo Maeda)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:50857] [ruby-trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (6 preceding siblings ...)
2012-12-09 15:28 ` [ruby-core:50716] [ruby-trunk - Bug #3351][Assigned] " mame (Yusuke Endoh)
@ 2012-12-13 5:24 ` shugo (Shugo Maeda)
2012-12-13 5:32 ` [ruby-core:50860] " Yukihiro Matsumoto
2012-12-29 13:03 ` [ruby-core:51189] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
` (4 subsequent siblings)
12 siblings, 1 reply; 14+ messages in thread
From: shugo (Shugo Maeda) @ 2012-12-13 5:24 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by shugo (Shugo Maeda).
Assignee changed from shugo (Shugo Maeda) to matz (Yukihiro Matsumoto)
mame (Yusuke Endoh) wrote:
> Shugo-san, ko1, what's the status?
Override#foo is called only once, because in the SVN trunk, if a method found by super is the current method, it's skipped to avoid an infinite loop. The check was introduced for super in a refinement. Without it, super in a refinement causes an infinite loop.
> Do you think this issue important?
I don't think so. Can I leave it as is, Matz?
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-34690
Author: serge_balyuk (Serge Balyuk)
Status: Assigned
Priority: Low
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:50860] Re: [ruby-trunk - Bug #3351] stack overflow on super
2012-12-13 5:24 ` [ruby-core:50857] [ruby-trunk - Bug #3351] " shugo (Shugo Maeda)
@ 2012-12-13 5:32 ` Yukihiro Matsumoto
0 siblings, 0 replies; 14+ messages in thread
From: Yukihiro Matsumoto @ 2012-12-13 5:32 UTC (permalink / raw)
To: ruby-core
Hi,
In message "Re: [ruby-core:50857] [ruby-trunk - Bug #3351] stack overflow on super"
on Thu, 13 Dec 2012 14:24:21 +0900, "shugo (Shugo Maeda)" <redmine@ruby-lang.org> writes:
|> Do you think this issue important?
|
|I don't think so. Can I leave it as is, Matz?
OK.
matz.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:51189] [ruby-trunk - Bug #3351][Open] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (7 preceding siblings ...)
2012-12-13 5:24 ` [ruby-core:50857] [ruby-trunk - Bug #3351] " shugo (Shugo Maeda)
@ 2012-12-29 13:03 ` shugo (Shugo Maeda)
2013-02-17 23:52 ` [ruby-core:52406] [ruby-trunk - Bug #3351] " ko1 (Koichi Sasada)
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: shugo (Shugo Maeda) @ 2012-12-29 13:03 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by shugo (Shugo Maeda).
Status changed from Assigned to Open
Assignee deleted (matz (Yukihiro Matsumoto))
Target version changed from 2.0.0 to next minor
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-35142
Author: serge_balyuk (Serge Balyuk)
Status: Open
Priority: Low
Assignee:
Category: core
Target version: next minor
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:52406] [ruby-trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (8 preceding siblings ...)
2012-12-29 13:03 ` [ruby-core:51189] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
@ 2013-02-17 23:52 ` ko1 (Koichi Sasada)
2015-07-01 9:11 ` [ruby-core:69825] [Ruby trunk " ko1
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: ko1 (Koichi Sasada) @ 2013-02-17 23:52 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by ko1 (Koichi Sasada).
Assignee set to ko1 (Koichi Sasada)
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-36459
Author: serge_balyuk (Serge Balyuk)
Status: Open
Priority: Low
Assignee: ko1 (Koichi Sasada)
Category: core
Target version: next minor
ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
=begin
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.
=end
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:69825] [Ruby trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (9 preceding siblings ...)
2013-02-17 23:52 ` [ruby-core:52406] [ruby-trunk - Bug #3351] " ko1 (Koichi Sasada)
@ 2015-07-01 9:11 ` ko1
2015-07-01 9:27 ` [ruby-core:69826] " ko1
2015-07-06 8:38 ` [ruby-core:69881] " matz
12 siblings, 0 replies; 14+ messages in thread
From: ko1 @ 2015-07-01 9:11 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Koichi Sasada.
Description updated
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-53224
* Author: Serge Balyuk
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
* Backport:
----------------------------------------
It looks like `super` behavior is a bit different in 1.8 and 1.9. Please find the example below:
```ruby
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.
---Files--------------------------------
super.rb (217 Bytes)
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:69826] [Ruby trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (10 preceding siblings ...)
2015-07-01 9:11 ` [ruby-core:69825] [Ruby trunk " ko1
@ 2015-07-01 9:27 ` ko1
2015-07-06 8:38 ` [ruby-core:69881] " matz
12 siblings, 0 replies; 14+ messages in thread
From: ko1 @ 2015-07-01 9:27 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Koichi Sasada.
Just now, we avoid this issue by putting `klass` into each frame.
However, the workaround is remaining.
Now, ancestors is here:
```
[B, Override, A, Override, Base, Object, Kernel, BasicObject]
```
and now MRI calls `Override#foo` only once. It skips second Override#foo.
```
override
bar
```
However, if there is a `A#foo`, then call `Override#foo` twice.
```
override
A
override
bar
```
It is ugly workaround. So I want to remove such skipping.
Matz: Can I call `Override#foo` twice even if it is duplicated with last call?
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-53225
* Author: Serge Balyuk
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
* Backport:
----------------------------------------
It looks like `super` behavior is a bit different in 1.8 and 1.9. Please find the example below:
```ruby
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.
---Files--------------------------------
super.rb (217 Bytes)
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
* [ruby-core:69881] [Ruby trunk - Bug #3351] stack overflow on super
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
` (11 preceding siblings ...)
2015-07-01 9:27 ` [ruby-core:69826] " ko1
@ 2015-07-06 8:38 ` matz
12 siblings, 0 replies; 14+ messages in thread
From: matz @ 2015-07-06 8:38 UTC (permalink / raw)
To: ruby-core
Issue #3351 has been updated by Yukihiro Matsumoto.
Agreed.
Matz.
----------------------------------------
Bug #3351: stack overflow on super
https://bugs.ruby-lang.org/issues/3351#change-53296
* Author: Serge Balyuk
* Status: Open
* Priority: Normal
* Assignee: Koichi Sasada
* ruby -v: ruby 1.9.3dev (2010-05-26 trunk 28028) [i686-linux]
* Backport:
----------------------------------------
It looks like `super` behavior is a bit different in 1.8 and 1.9. Please find the example below:
```ruby
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.
---Files--------------------------------
super.rb (217 Bytes)
--
https://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2015-07-06 8:11 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <redmine.issue-3351.20100527154554@ruby-lang.org>
2011-06-26 5:58 ` [ruby-core:37387] [Ruby 1.9 - Bug #3351][Assigned] stack overflow on super Yui NARUSE
2011-06-28 14:28 ` [ruby-core:37634] [Ruby 1.9 - Bug #3351] " Yura Sokolov
2011-07-10 5:28 ` [ruby-core:37953] " Koichi Sasada
2012-08-03 16:35 ` [ruby-core:46968] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
2012-10-01 11:24 ` [ruby-core:47772] [ruby-trunk - Bug #3351] " fahmisetiawan (Fahmi Setiawan)
2012-11-28 13:35 ` [ruby-core:50257] " ko1 (Koichi Sasada)
2012-12-09 15:28 ` [ruby-core:50716] [ruby-trunk - Bug #3351][Assigned] " mame (Yusuke Endoh)
2012-12-13 5:24 ` [ruby-core:50857] [ruby-trunk - Bug #3351] " shugo (Shugo Maeda)
2012-12-13 5:32 ` [ruby-core:50860] " Yukihiro Matsumoto
2012-12-29 13:03 ` [ruby-core:51189] [ruby-trunk - Bug #3351][Open] " shugo (Shugo Maeda)
2013-02-17 23:52 ` [ruby-core:52406] [ruby-trunk - Bug #3351] " ko1 (Koichi Sasada)
2015-07-01 9:11 ` [ruby-core:69825] [Ruby trunk " ko1
2015-07-01 9:27 ` [ruby-core:69826] " ko1
2015-07-06 8:38 ` [ruby-core:69881] " matz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).