チケット #2727 が更新されました。 (by Kazuhiro NISHIYAMA)


make test でも同じ状態だったので、該当部分を見て最小ケースを調べてみると catch した時点で落ちているようです。

% make test

sample/test.rb:assignment ....................................................................................................................................................................................................................................................................................................................................................................................
sample/test.rb:condition ..
sample/test.rb:if/unless ...
sample/test.rb:case .....
sample/test.rb:while/until ........
sample/test.rb:exception ........./home/kazu/wc/ruby/branches/ruby_1_9_1/sample/test.rb:713: [BUG] Segmentation fault
ruby 1.9.1p420 (2010-02-04 revision 26571) [i686-linux]

-- control frame ----------
c:0004 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC  :catch
c:0003 p:14355 s:0049 b:0048 l:0017dc d:0007cc EVAL   /home/kazu/wc/ruby/branches/ruby_1_9_1/sample/test.rb:713
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0017dc d:0017dc TOP
---------------------------
-- Ruby level backtrace information-----------------------------------------
/home/kazu/wc/ruby/branches/ruby_1_9_1/sample/test.rb:713:in `catch'
/home/kazu/wc/ruby/branches/ruby_1_9_1/sample/test.rb:713:in `<main>'

-- C level backtrace information -------------------------------------------
0x4014a1e9 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1(rb_vm_bugreport+0x69) [0x4014a1e9]
0x400663af /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x400663af]
0x4006644a /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1(rb_bug+0x3a) [0x4006644a]
0x400f15d4 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x400f15d4]
0x4001d410 [0x4001d410]
0x40137fc8 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x40137fc8]
0x40138304 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x40138304]
0x40142e06 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x40142e06]
0x4013e06a /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x4013e06a]
0x40141419 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1 [0x40141419]
0x4014166b /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1(rb_iseq_eval_main+0xab) [0x4014166b]
0x40068397 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1(ruby_exec_node+0xb7) [0x40068397]
0x400699a6 /home/kazu/build/ruby/ruby_1_9_1/ruby/libruby-1.9.1.so.1.9.1(ruby_run_node+0x56) [0x400699a6]
0x804887e /home/kazu/build/ruby/ruby_1_9_1/ruby/ruby-1.9.1(main+0x7e) [0x804887e]
0x40254b56 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x40254b56]
0x8048761 /home/kazu/build/ruby/ruby_1_9_1/ruby/ruby-1.9.1 [0x8048761]

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

test failed
make: *** [test-sample] エラー 1

% ./miniruby -e 'catch(:foo){}'
% ./miniruby -e 'catch(:foo){throw :bar}'
-e:1:in `throw': uncaught throw :bar (ArgumentError)
        from -e:1:in `block in <main>'
        from -e:1:in `catch'
        from -e:1:in `<main>'
% ./miniruby -e 'catch(:foo){throw :foo}'
-e:1: [BUG] Segmentation fault
ruby 1.9.1p420 (2010-02-04 revision 26571) [i686-linux]

-- control frame ----------
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC  :catch
c:0003 p:0011 s:0006 b:0006 l:0010ec d:00218c EVAL   -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0010ec d:0010ec TOP
---------------------------
-- Ruby level backtrace information-----------------------------------------
-e:1:in `catch'
-e:1:in `<main>'

-- C level backtrace information -------------------------------------------
0x816a589 ./miniruby(rb_vm_bugreport+0x69) [0x816a589]
0x808674f ./miniruby [0x808674f]
0x80867ea ./miniruby(rb_bug+0x3a) [0x80867ea]
0x8111974 ./miniruby [0x8111974]
0xb7861410 [0xb7861410]
0x8158368 ./miniruby [0x8158368]
0x81586a4 ./miniruby [0x81586a4]
0x81631a6 ./miniruby [0x81631a6]
0x815e40a ./miniruby [0x815e40a]
0x81617b9 ./miniruby [0x81617b9]
0x8161a0b ./miniruby(rb_iseq_eval_main+0xab) [0x8161a0b]
0x8088737 ./miniruby(ruby_exec_node+0xb7) [0x8088737]
0x8089d46 ./miniruby(ruby_run_node+0x56) [0x8089d46]
0x805cfde ./miniruby(main+0x7e) [0x805cfde]
0xb769ab56 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb769ab56]
0x805cec1 ./miniruby [0x805cec1]

[NOTE]
You may encounter a bug of Ruby interpreter. Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

----------------------------------------
http://redmine.ruby-lang.org/issues/show/2727

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