Forum: Ruby-core [Bug #1716] set_trace_func/raise related segfault, one line repro

Posted by Jedediah Smith (Guest)
on 2009-07-02 19:12
(Received via mailing list)
Bug #1716: set_trace_func/raise related segfault, one line repro
http://redmine.ruby-lang.org/issues/show/1716

Author: Jedediah Smith
Status: Open, Priority: Normal
Category: core
ruby -v: ruby 1.9.1p129 (2009-05-12 revision 23412) [x86_64-linux]

ruby -e 'set_trace_func proc{ begin; fail; rescue; end }; begin; fail; 
rescue; end'

-e: [BUG] Segmentation fault
ruby 1.9.1p129 (2009-05-12 revision 23412) [x86_64-linux]

-- control frame ----------
c:0004 p:0020 s:0009 b:0009 l:002588 d:000c70 BLOCK
c:0003 p:0029 s:0006 b:0006 l:002588 d:002288 EVAL   -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:002588 d:002588 TOP
---------------------------
-- Ruby level backtrace 
information-----------------------------------------
-e:0:in `rescue in <main>'
-e:1:in `<main>'

-- C level backtrace information 
-------------------------------------------
0x7f6cc07d632b /usr/local/lib/libruby.so.1.9(rb_vm_bugreport+0x4b) 
[0x7f6cc07d632b]
0x7f6cc06f72be /usr/local/lib/libruby.so.1.9 [0x7f6cc06f72be]
0x7f6cc06f7433 /usr/local/lib/libruby.so.1.9(rb_bug+0xb3) 
[0x7f6cc06f7433]
0x7f6cc077e29c /usr/local/lib/libruby.so.1.9 [0x7f6cc077e29c]
0x7f6cc0498080 /lib/libpthread.so.0 [0x7f6cc0498080]
0x7f6cc07cbbb7 /usr/local/lib/libruby.so.1.9 [0x7f6cc07cbbb7]
0x7f6cc07cf684 /usr/local/lib/libruby.so.1.9 [0x7f6cc07cf684]
0x7f6cc07cf7d1 /usr/local/lib/libruby.so.1.9(rb_iseq_eval_main+0xb1) 
[0x7f6cc07cf7d1]
0x7f6cc06f9404 /usr/local/lib/libruby.so.1.9(ruby_exec_node+0xb4) 
[0x7f6cc06f9404]
0x7f6cc06fabd3 /usr/local/lib/libruby.so.1.9(ruby_run_node+0x33) 
[0x7f6cc06fabd3]
0x4009bf ruby(main+0x4f) [0x4009bf]
0x7f6cbf86c5a6 /lib/libc.so.6(__libc_start_main+0xe6) [0x7f6cbf86c5a6]
0x4008a9 ruby [0x4008a9]

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

Aborted

... and in gdb ...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f71ee51a6f0 (LWP 23802)]
0x00007f71ee06ecde in vm_throw (th=0x6451c0, reg_cfp=0x7f71ee4d9e90, 
throw_state=0, throwobj=4) at vm_insnhelper.c:1389
1389    else if (BUILTIN_TYPE(err) == T_NODE) {
(gdb) backtrace
#0  0x00007f71ee06ecde in vm_throw (th=0x6451c0, reg_cfp=0x7f71ee4d9e90, 
throw_state=0, throwobj=4) at vm_insnhelper.c:1389
#1  0x00007f71ee0718c1 in vm_exec_core (th=0x6451c0, initial=0) at 
insns.def:1106
#2  0x00007f71ee07ed27 in vm_exec (th=0x6451c0) at vm.c:1078
#3  0x00007f71ee07f542 in rb_iseq_eval_main (iseqval=6645360) at 
vm.c:1294
#4  0x00007f71edf79c84 in ruby_exec_node (n=0x656670, file=<value 
optimized out>) at eval.c:206
#5  0x00007f71edf7b453 in ruby_run_node (n=0x656670) at eval.c:234
#6  0x00000000004009cf in main (argc=3, argv=0x7fff3df9bc08) at 
main.c:35
Posted by Roger Pack (Guest)
on 2009-07-02 19:48
(Received via mailing list)
On Thu, Jul 2, 2009 at 11:11 AM, Jedediah Smith<redmine@ruby-lang.org> 
wrote:
> Bug #1716: set_trace_func/raise related segfault, one line repro
> http://redmine.ruby-lang.org/issues/show/1716
>
> Author: Jedediah Smith
> Status: Open, Priority: Normal
> Category: core
> ruby -v: ruby 1.9.1p129 (2009-05-12 revision 23412) [x86_64-linux]
>
> ruby -e 'set_trace_func proc{ begin; fail; rescue; end }; begin; fail; rescue; end'

appears to occur on trunk, too
Posted by Yuki Sonoda (Guest)
on 2009-07-13 08:17
(Received via mailing list)
Issue #1716 has been updated by Yuki Sonoda.

Status changed from Open to Closed
% Done changed from 0 to 100

Applied in changeset r24068.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/1716
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.