|
(gdb) handle SIG33 pass nostop noprint
|
|
Signal Stop Print Pass to program Description
|
|
SIG33 No No Yes Real-time event 33
|
|
(gdb) set pagination 0
|
|
(gdb) run
|
|
Starting program: /usr/bin/ruby
|
|
[Thread debugging using libthread_db enabled]
|
|
[New Thread 0xb7f5b6c0 (LWP 6450)]
|
|
[New Thread 0xb7cd9b90 (LWP 6453)]
|
|
: compile/should not be reached: compile.c:473
|
|
|
|
Program received signal SIGSEGV, Segmentation fault.
|
|
[Switching to Thread 0xb7f5b6c0 (LWP 6450)]
|
|
0x080fd3e8 in iseq_setup (iseq=0x8b03de0, anchor=0xbfedd1ac) at compile.c:1872
|
|
1872 const int do_peepholeopt = iseq->compile_data->option->peephole_optimization;
|
|
(gdb) backtrace full
|
|
#0 0x080fd3e8 in iseq_setup (iseq=0x8b03de0, anchor=0xbfedd1ac) at compile.c:1872
|
|
No locals.
|
|
#1 0x08107961 in rb_iseq_compile_node (self=144961012, node=0x8a47524) at compile.c:500
|
|
ret_body__ = {anchor = {type = 0, next = 0x8afb108, prev = 0x0}, last = 0x8afb108}
|
|
iseq = (rb_iseq_t *) 0x8b03de0
|
|
#2 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a47524, name=144961040, filename=145012028, line_no=229, parent=0, type=5, bopt=0, option=0xbfede184) at iseq.c:337
|
|
iseq = (rb_iseq_t *) 0x8b03de0
|
|
self = 144961012
|
|
#3 0x080fe11a in new_child_iseq (iseq=0x8b008b8, node=0xbfedd1ac, name=3220033964, parent=0, type=5, line_no=114) at compile.c:915
|
|
ret = <value optimized out>
|
|
#4 0x08100731 in iseq_compile_each (iseq=0x8b008b8, ret=0xbfedd70c, node=<value optimized out>, poped=1) at compile.c:4538
|
|
iseqval = <value optimized out>
|
|
rb_intern_id_cache = 0
|
|
#5 0x080fe51d in iseq_compile_each (iseq=0x8b008b8, ret=0xbfedd70c, node=<value optimized out>, poped=0) at compile.c:2964
|
|
rb_intern_id_cache = 0
|
|
#6 0x08107ea0 in rb_iseq_compile_node (self=144964288, node=0x8a407e0) at compile.c:448
|
|
ret_body__ = {anchor = {type = 0, next = 0x8b00504, prev = 0x0}, last = 0x8b038d0}
|
|
iseq = (rb_iseq_t *) 0x8b008b8
|
|
#7 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a407e0, name=144964316, filename=145012028, line_no=39, parent=144965156, type=9, bopt=0, option=0xbfede184) at iseq.c:337
|
|
iseq = (rb_iseq_t *) 0x8b008b8
|
|
self = 144964288
|
|
#8 0x080fe11a in new_child_iseq (iseq=0x8affbb0, node=0xbfedd1ac, name=3220033964, parent=144965156, type=9, line_no=19) at compile.c:915
|
|
ret = <value optimized out>
|
|
#9 0x08101018 in iseq_compile_each (iseq=0x8affbb0, ret=0xbfedde20, node=<value optimized out>, poped=1) at compile.c:4606
|
|
iseqval = <value optimized out>
|
|
rb_intern_id_cache = 0
|
|
#10 0x080fe51d in iseq_compile_each (iseq=0x8affbb0, ret=0xbfedde20, node=<value optimized out>, poped=1) at compile.c:2964
|
|
rb_intern_id_cache = 0
|
|
#11 0x080fee3f in iseq_compile_each (iseq=0x8affbb0, ret=0xbfede10c, node=<value optimized out>, poped=1) at compile.c:2988
|
|
cond_seq_body__ = {anchor = {type = 0, next = 0x8b00050, prev = 0x0}, last = 0x8b000c4}
|
|
then_label = (LABEL *) 0x8afffd0
|
|
else_label = (LABEL *) 0x8affff0
|
|
then_seq_body__ = {anchor = {type = 0, next = 0x8b000e8, prev = 0x0}, last = 0x8b0019c}
|
|
else_seq_body__ = {anchor = {type = 0, next = 0x0, prev = 0x0}, last = 0xbfedde30}
|
|
end_label = (LABEL *) 0x8b00010
|
|
rb_intern_id_cache = 0
|
|
#12 0x080fe51d in iseq_compile_each (iseq=0x8affbb0, ret=0xbfede10c, node=<value optimized out>, poped=0) at compile.c:2964
|
|
rb_intern_id_cache = 0
|
|
#13 0x08107c85 in rb_iseq_compile_node (self=144965156, node=0x8a3fe5c) at compile.c:459
|
|
ret_body__ = {anchor = {type = 0, next = 0x8affca4, prev = 0x0}, last = 0x8affe7c}
|
|
iseq = (rb_iseq_t *) 0x8affbb0
|
|
#14 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a3fe5c, name=144965184, filename=145012028, line_no=1, parent=0, type=3, bopt=0, option=0xbfede184) at iseq.c:337
|
|
iseq = (rb_iseq_t *) 0x8affbb0
|
|
self = 144965156
|
|
#15 0x0810c096 in rb_iseq_compile_with_option (src=145012000, file=145012028, line=1, opt=4) at iseq.c:486
|
|
option = {inline_const_cache = 1, peephole_optimization = 1, tailcall_optimization = 0, specialized_instruction = 1, operands_unification = 0, instructions_unification = 0, stack_caching = 0, trace_instruction = 1, debug_level = 0}
|
|
node = (NODE *) 0x8a3fe5c
|
|
th = (rb_thread_t *) 0x8a3ea98
|
|
#16 0x0810c1a7 in rb_iseq_compile (src=145012000, file=145012028, line=1) at iseq.c:494
|
|
No locals.
|
|
#17 0x08123f01 in Init_prelude () at prelude.c:434
|
|
No locals.
|
|
#18 0x080ceed5 in process_options (arg=3220042532) at ruby.c:1061
|
|
opt = (struct cmdline_options *) 0xbfedf2b8
|
|
argc = <value optimized out>
|
|
argv = (char **) 0xbfedf4d8
|
|
tree = <value optimized out>
|
|
parser = 145022360
|
|
iseq = <value optimized out>
|
|
enc = <value optimized out>
|
|
lenc = (rb_encoding *) 0x8a870b0
|
|
fbuf = "t???\001\000\000\000\001", '\0' <repeats 11 times>, "\002\000\000\000????", '\0' <repeats 32 times>, "\001\000\000\000\230\207?\b(\210?\b", '\0' <repeats 40 times>, "\001\000\000\000\230\207?\b(\210?\b\002\000\000\000????", '\0' <repeats 24 times>, "\b????i\f\b˿?\bۿ?\b(q?\b\002\000\000\000????\000\000\000\000\000\000\000\000\030", '\0' <repeats 76 times>, "\001\001", '\0' <repeats 30 times>, "\001\001", '\0' <repeats 149 times>, "t????\205?\b?????\224\v\bt???\000\000\000\000\f\000\000\000?x?\b\017\000\000\000\000\000\000\000"...
|
|
i = 1
|
|
th = (rb_thread_t *) 0x8a3ea98
|
|
env = <value optimized out>
|
|
rb_intern_id_cache = 0
|
|
#19 0x0810fa5b in rb_vm_call_cfunc (recv=145225080, func=0x80cec10 <process_options>, arg=3220042532, blockptr=0x0, filename=145030872) at vm.c:1381
|
|
th = (rb_thread_t *) 0x8a3ea98
|
|
reg_cfp = <value optimized out>
|
|
iseqval = 145030844
|
|
val = 224
|
|
#20 0x080cd0fd in ruby_process_options (argc=1, argv=0xbfedf4d4) at ruby.c:1815
|
|
args = {argc = 1, argv = 0xbfedf4d4, opt = 0xbfedf2b8}
|
|
opt = {sflag = 0, xflag = 0, do_loop = 0, do_print = 0, do_check = 0, do_line = 0, do_split = 0, do_search = 0, usage = 0, version = 0, copyright = 0, disable = 0, verbose = 0, yydebug = 0, safe_level = 0, setids = 0, dump = 0, script = 0x8a4fe38 "-", script_name = 145030704, e_script = 0, src = {enc = {name = 0, index = -1}}, ext = {enc = {name = 0, index = -1}}, intern = {enc = {name = 0, index = -1}}, req_list = 0}
|
|
#21 0x0805b61b in ruby_options (argc=1, argv=0xbfedf4d4) at eval.c:89
|
|
_th = (rb_thread_t * const) 0x8a3ea98
|
|
_tag = {buf = {{__jmpbuf = {-1074924464, 6007968, 0, -1074924536, -1258472158, 51739535}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 144959320, 0, 0, 0, 0, 7414496, 2147483648, 1, 0, 0, 0, 0, 2097152, 0, 3220042712, 6864008, 10485760, 3220042696, 5, 4294967295, 0, 0, 3220042760, 135398729, 10485760, 0, 5, 0, 10485760}}}}, tag = 0, retval = 0, prev = 0x0}
|
|
state = 0
|
|
tree = (void *) 0x0
|
|
#22 0x080595f8 in main (argc=1, argv=0xbfedf4d4) at main.c:35
|
|
variable_in_this_stack_frame = 7348212
|
|
(gdb) info registers
|
|
eax 0xe0 224
|
|
ecx 0xbfedd1ac -1074933332
|
|
edx 0xbfedd1ac -1074933332
|
|
ebx 0x8a3edf4 144961012
|
|
esp 0xbfedd0e0 0xbfedd0e0
|
|
ebp 0xbfedd168 0xbfedd168
|
|
esi 0x8b03de0 145767904
|
|
edi 0x8a47524 144995620
|
|
eip 0x80fd3e8 0x80fd3e8 <iseq_setup+24>
|
|
eflags 0x10282 [ SF IF RF ]
|
|
cs 0x73 115
|
|
ss 0x7b 123
|
|
ds 0x7b 123
|
|
es 0x7b 123
|
|
fs 0x0 0
|
|
gs 0x33 51
|
|
(gdb) x/16i $pc
|
|
0x80fd3e8 <iseq_setup+24>: mov 0x4(%eax),%ecx
|
|
0x80fd3eb <iseq_setup+27>: mov 0x8(%eax),%ebx
|
|
0x80fd3ee <iseq_setup+30>: mov 0xc(%eax),%eax
|
|
0x80fd3f1 <iseq_setup+33>: mov %ecx,-0x5c(%ebp)
|
|
0x80fd3f4 <iseq_setup+36>: mov %ebx,-0x58(%ebp)
|
|
0x80fd3f7 <iseq_setup+39>: mov %eax,-0x60(%ebp)
|
|
0x80fd3fa <iseq_setup+42>: mov -0x68(%ebp),%eax
|
|
0x80fd3fd <iseq_setup+45>: call 0x80fc850 <FIRST_ELEMENT>
|
|
0x80fd402 <iseq_setup+50>: test %eax,%eax
|
|
0x80fd404 <iseq_setup+52>: mov %eax,%esi
|
|
0x80fd406 <iseq_setup+54>: jne 0x80fd417 <iseq_setup+71>
|
|
0x80fd408 <iseq_setup+56>: jmp 0x80fdb3a <iseq_setup+1898>
|
|
0x80fd40d <iseq_setup+61>: lea 0x0(%esi),%esi
|
|
0x80fd410 <iseq_setup+64>: mov 0x4(%esi),%esi
|
|
0x80fd413 <iseq_setup+67>: test %esi,%esi
|
|
0x80fd415 <iseq_setup+69>: je 0x80fd475 <iseq_setup+165>
|
|
(gdb) thread apply all backtrace
|
|
|
|
Thread 2 (Thread 0xb7cd9b90 (LWP 6453)):
|
|
#0 0x00119402 in __kernel_vsyscall ()
|
|
#1 0x00719b51 in __lll_mutex_unlock_wake () from /lib/libpthread.so.0
|
|
#2 0x00716889 in _L_mutex_unlock_101 () from /lib/libpthread.so.0
|
|
#3 0x007164f0 in __pthread_mutex_unlock_usercnt () from /lib/libpthread.so.0
|
|
#4 0x00717433 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
|
|
#5 0x0811e613 in thread_timer (dummy=0x0) at thread_pthread.c:122
|
|
#6 0x0071345b in start_thread () from /lib/libpthread.so.0
|
|
#7 0x00693e5e in clone () from /lib/libc.so.6
|
|
|
|
Thread 1 (Thread 0xb7f5b6c0 (LWP 6450)):
|
|
#0 0x080fd3e8 in iseq_setup (iseq=0x8b03de0, anchor=0xbfedd1ac) at compile.c:1872
|
|
#1 0x08107961 in rb_iseq_compile_node (self=144961012, node=0x8a47524) at compile.c:500
|
|
#2 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a47524, name=144961040, filename=145012028, line_no=229, parent=0, type=5, bopt=0, option=0xbfede184) at iseq.c:337
|
|
#3 0x080fe11a in new_child_iseq (iseq=0x8b008b8, node=0xbfedd1ac, name=3220033964, parent=0, type=5, line_no=114) at compile.c:915
|
|
#4 0x08100731 in iseq_compile_each (iseq=0x8b008b8, ret=0xbfedd70c, node=<value optimized out>, poped=1) at compile.c:4538
|
|
#5 0x080fe51d in iseq_compile_each (iseq=0x8b008b8, ret=0xbfedd70c, node=<value optimized out>, poped=0) at compile.c:2964
|
|
#6 0x08107ea0 in rb_iseq_compile_node (self=144964288, node=0x8a407e0) at compile.c:448
|
|
#7 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a407e0, name=144964316, filename=145012028, line_no=39, parent=144965156, type=9, bopt=0, option=0xbfede184) at iseq.c:337
|
|
#8 0x080fe11a in new_child_iseq (iseq=0x8affbb0, node=0xbfedd1ac, name=3220033964, parent=144965156, type=9, line_no=19) at compile.c:915
|
|
#9 0x08101018 in iseq_compile_each (iseq=0x8affbb0, ret=0xbfedde20, node=<value optimized out>, poped=1) at compile.c:4606
|
|
#10 0x080fe51d in iseq_compile_each (iseq=0x8affbb0, ret=0xbfedde20, node=<value optimized out>, poped=1) at compile.c:2964
|
|
#11 0x080fee3f in iseq_compile_each (iseq=0x8affbb0, ret=0xbfede10c, node=<value optimized out>, poped=1) at compile.c:2988
|
|
#12 0x080fe51d in iseq_compile_each (iseq=0x8affbb0, ret=0xbfede10c, node=<value optimized out>, poped=0) at compile.c:2964
|
|
#13 0x08107c85 in rb_iseq_compile_node (self=144965156, node=0x8a3fe5c) at compile.c:459
|
|
#14 0x0810b1a9 in rb_iseq_new_with_bopt_and_opt (node=0x8a3fe5c, name=144965184, filename=145012028, line_no=1, parent=0, type=3, bopt=0, option=0xbfede184) at iseq.c:337
|
|
#15 0x0810c096 in rb_iseq_compile_with_option (src=145012000, file=145012028, line=1, opt=4) at iseq.c:486
|
|
#16 0x0810c1a7 in rb_iseq_compile (src=145012000, file=145012028, line=1) at iseq.c:494
|
|
#17 0x08123f01 in Init_prelude () at prelude.c:434
|
|
#18 0x080ceed5 in process_options (arg=3220042532) at ruby.c:1061
|
|
#19 0x0810fa5b in rb_vm_call_cfunc (recv=145225080, func=0x80cec10 <process_options>, arg=3220042532, blockptr=0x0, filename=145030872) at vm.c:1381
|
|
#20 0x080cd0fd in ruby_process_options (argc=1, argv=0xbfedf4d4) at ruby.c:1815
|
|
#21 0x0805b61b in ruby_options (argc=1, argv=0xbfedf4d4) at eval.c:89
|
|
#22 0x080595f8 in main (argc=1, argv=0xbfedf4d4) at main.c:35
|