More NULL frames
lmarburger opened this issue · 1 comments
lmarburger commented
After applying #17, @eric and I found this bug. Here's the test case.
(gdb) continue
Continuing.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000048
[Switching to process 82986 thread 0x1503]
0x000000010f9ff5f4 in profiler_hook (event=32, data=<value temporarily unavailable, due to optimizations>, self=140588440928000, mid=4736, klass=140588440003480) at rblineprof.c:423
423 if (prev->srcfile != frame->srcfile) {
(gdb) where
#0 0x000000010f9ff5f4 in profiler_hook (event=32, data=<value temporarily unavailable, due to optimizations>, self=140588440928000, mid=4736, klass=140588440003480) at rblineprof.c:423
#1 0x000000010f6dcb6f in thread_exec_event_hooks ()
#2 0x000000010f6dc8c3 in thread_suppress_tracing ()
#3 0x000000010f6dc9ad in rb_threadptr_exec_event_hooks ()
#4 0x000000010f6cbbd8 in vm_call0 ()
#5 0x000000010f6cf297 in rb_funcall_passing_block ()
#6 0x000000010f6d9911 in rb_yield ()
#7 0x000000010f5591ce in rb_ary_each ()
#8 0x000000010f6d7a67 in vm_call_method ()
#9 0x000000010f6c4eb5 in vm_exec_core ()
#10 0x000000010f6c9aea in vm_exec ()
#11 0x000000010f6d9660 in rb_yield ()
#12 0x000000010f5928ff in rb_ensure ()
#13 0x000000010f9ff256 in lineprof (self=140588440828600, filename=140588440870920) at rblineprof.c:589
#14 0x000000010f6d7a67 in vm_call_method ()
#15 0x000000010f6c4eb5 in vm_exec_core ()
#16 0x000000010f6c9aea in vm_exec ()
#17 0x000000010f6cae2d in rb_vm_invoke_proc ()
#18 0x000000010f5999ee in proc_call ()
#19 0x000000010f6d7a67 in vm_call_method ()
#20 0x000000010f6c4eb5 in vm_exec_core ()
#21 0x000000010f6c9aea in vm_exec ()
#22 0x000000010f6cae2d in rb_vm_invoke_proc ()
#23 0x000000010f6e2319 in thread_start_func_2 ()
#24 0x000000010f6e246c in thread_start_func_1 ()
#25 0x00007fff8e18b7a2 in _pthread_start ()
#26 0x00007fff8e1781e1 in thread_start ()
(gdb) p frame
$1 = (stackframe_t *) 0x0
(gdb) p prev
$2 = (stackframe_t *) 0x10f9fff88
(gdb) p rblineprof
$3 = {
enabled = true,
stack = {{
event = 32,
thread = 0x7fdd4ca016a0,
self = 140588440929440,
mid = 424,
klass = 140588440037160,
filename = 0x0,
line = 15,
start = {
wall_time = 1369359164923503,
cpu_time = 170409
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca016a0,
self = 140588440928640,
mid = 4736,
klass = 140588440003480,
filename = 0x0,
line = 15,
start = {
wall_time = 1369359164924412,
cpu_time = 170831
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca0bd30,
self = 140588440660760,
mid = 8288,
klass = 140588440075080,
filename = 0x0,
line = 184,
start = {
wall_time = 1369359164923583,
cpu_time = 170455
},
srcfile = 0x7fdd4be971c0
}, {
event = 32,
thread = 0x7fdd4ca281d0,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923654,
cpu_time = 170494
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca281d0,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923656,
cpu_time = 170495
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca38810,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923702,
cpu_time = 170516
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca38810,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923704,
cpu_time = 170517
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca067d0,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923731,
cpu_time = 170530
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca067d0,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923733,
cpu_time = 170531
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca27d60,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923769,
cpu_time = 170548
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca27d60,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923771,
cpu_time = 170549
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca3c790,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923796,
cpu_time = 170561
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca3c790,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923797,
cpu_time = 170561
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca38cb0,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923833,
cpu_time = 170577
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca38cb0,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923835,
cpu_time = 170578
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca3a450,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923877,
cpu_time = 170601
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca3a450,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164923879,
cpu_time = 170602
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca21150,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924071,
cpu_time = 170682
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca21150,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924077,
cpu_time = 170684
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca0d360,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924129,
cpu_time = 170707
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca0d360,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924131,
cpu_time = 170708
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca0c7c0,
self = 140588440828600,
mid = 6176,
klass = 140588440075080,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924177,
cpu_time = 170730
},
srcfile = 0x7fdd4ca06f20
}, {
event = 32,
thread = 0x7fdd4ca0c7c0,
self = 140588440024240,
mid = 6024,
klass = 140588440027240,
filename = 0x0,
line = 17,
start = {
wall_time = 1369359164924180,
cpu_time = 170731
},
srcfile = 0x7fdd4ca06f20
}, {
event = 0,
thread = 0x0,
self = 0,
mid = 0,
klass = 0,
filename = 0x0,
line = 0,
start = {
wall_time = 0,
cpu_time = 0
},
srcfile = 0x0
} <repeats 32745 times>},
stack_depth = 18446744073709551612,
source_filename = 0x0,
file = {
filename = 0x0,
nlines = 0,
lines = 0x0,
total = {
wall_time = 0,
cpu_time = 0
},
child = {
wall_time = 0,
cpu_time = 0
},
depth = 0,
exclusive_start = {
wall_time = 0,
cpu_time = 0
},
exclusive = {
wall_time = 0,
cpu_time = 0
}
},
source_regex = 140588440870920,
files = 0x7fdd4be3cae0,
cache = {
file = 0x7fdd4c8bb130 "/Users/Larry/tmp/rblineprof-puma/config.ru",
srcfile = 0x7fdd4ca06f20
}
}
eric commented
Big stack depth:
stack_depth = 18446744073709551612,