Project

General

Profile

Actions

Bug #3033

closed

backtrace of SystemStackError disappeared

Added by mame (Yusuke Endoh) about 14 years ago. Updated almost 13 years ago.

Status:
Rejected
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
=end

Actions #1

Updated by mame (Yusuke Endoh) about 14 years ago

=begin
遠藤です。

2010年3月29日0:00 Yusuke ENDOH :

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

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

--
Yusuke ENDOH

=end

Actions #2

Updated by mame (Yusuke Endoh) almost 14 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
=end

Actions #3

Updated by dolzenko (Evgeniy Dolzhenko) almost 14 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 method detect' 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

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0