Project

General

Profile

Bug #3033

backtrace of SystemStackError disappeared

Added by mame (Yusuke Endoh) over 10 years ago. Updated over 9 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
ruby -v:
-
Backport:
[ruby-dev:40809]

Description

=begin
遠藤です。

なぜか SystemStackError の時のバックトレースが出なくなっているようです。

$ ./ruby -ve 'def foo; bar; end; def bar; foo; end; def baz; foo; end; baz'
ruby 1.9.2dev (2010-03-26 trunk 27063) [i686-linux]
-e:1: stack level too deep (SystemStackError)

$ ruby-1.9.1-p378 -ve 'def foo; bar; end; def bar; foo; end; def baz;
foo; end; baz'
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
-e:1:in foo': stack level too deep (SystemStackError)
from -e:1:in
bar'
from -e:1:in foo'
from -e:1:in
bar'
from -e:1:in foo'
from -e:1:in
bar'
from -e:1:in foo'
from -e:1:in
bar'
from -e:1:in foo'
... 8720 levels...
from -e:1:in
bar'
from -e:1:in foo'
from -e:1:in
baz'
from -e:1:in `'

--
Yusuke ENDOH mame@tsg.ne.jp
=end

#1

Updated by mame (Yusuke Endoh) over 10 years ago

=begin
遠藤です。

2010年3月29日0:00 Yusuke ENDOH mame@tsg.ne.jp:

なぜか SystemStackError の時のバックトレースが出なくなっているようです。

git bisect 先生によると r25680 が原因のようです。

--
Yusuke ENDOH mame@tsg.ne.jp

=end

#2

Updated by mame (Yusuke Endoh) over 10 years ago

  • Status changed from Open to Rejected
  • Target version set to 1.9.2
  • ruby -v set to -

=begin
遠藤です。

r25680 のコミットをちゃんとみると、まつもとさんが意図的に変更したよう
なので、バグではないようです。rejected とします。

# 「matz を説得する方法」の「省略の意図を尊重している」が消えちゃった
# http://www.a-k-r.org/pub/howto-persuade-matz-rubykaigi2008.pdf

--
Yusuke Endoh mame@tsg.ne.jp
=end

#3

Updated by dolzenko (Evgeniy Dolzhenko) over 10 years ago

=begin
I think that returning String instead of an Array as Exception#backtrace
here http://github.com/shyouhei/ruby/blob/trunk/eval.c#L382
is breaking other code expectation about backtrace being enumerable.

The real life example is RSpec:

/usr/local/rvm/gems/ruby-1.9.2-head/gems/rspec-core-2.0.0.beta.7/lib/rspec/core/formatters/base_formatter.rb:127:in read_failed_line': undefined methoddetect' for "faster_open_struct.rb:0":String (NoMethodError)

(link to the code http://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/base_formatter.rb#L125 )
=end

Also available in: Atom PDF