Backport #3921
closed[BUG] Segmentation fault in set_trace_func
Description
=begin
以下のようにすると Segmentation fault が発生します。
$ ruby -e'
func = lambda{|e, f, l, i, b, k|
set_trace_func(nil)
b.eval("self")
}
set_trace_func(func)
'
-e:7: [BUG] Segmentation fault
ruby 1.9.3dev (2010-10-07 trunk 29420) [i686-linux]
-- control frame ----------
c:0003 p:0024 s:0007 b:0007 l:0003f4 d:0006c8 EVAL -e:7
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0003f4 d:0003f4 TOP
-- Ruby level backtrace information ----------------------------------------
-e:7:in `'
-- C level backtrace information -------------------------------------------
ruby [0x816e422]
ruby [0x81af141]
ruby(rb_bug+0x28) [0x81af1d8]
ruby [0x80fbd35]
[0xb77a9410]
ruby [0x8160fc3]
ruby [0x816255c]
ruby [0x8167e2c]
ruby(rb_iseq_eval_main+0x1da) [0x816818a]
ruby [0x805b2c2]
ruby(ruby_run_node+0x32) [0x805cce2]
ruby [0x805a6a0]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb75cb775]
ruby [0x805a5a1]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
=end