[Mono-dev] unwinding bug

Rodrigo Kumpera kumpera at gmail.com
Wed May 30 22:18:34 UTC 2012


Hey Zoltan.

I think I figured it out. The finally-guard bug is quite interesting. Here
the backtrace on the suspended thread (No signal frames cuz this is mach).

Thread 5 (process 58581):
#0  0x005a2108 in ?? ()
#1  0x005a13b8 in ?? ()
#2  0x005a1358 in ?? ()
#3  0x005a12d0 in ?? ()
#4  0x005a129c in ?? ()
#5  0x0059fa15 in ?? ()
#6  0x0059a671 in ?? ()
#7  0x0059a258 in ?? ()
#8  0x00599e54 in ?? ()
#9  0x00599aec in ?? ()
#10 0x0059994f in ?? ()
#11 0x000111c1 in mono_jit_runtime_invoke (method=0x23f4d34, obj=0x7d6d58,
params=0xb02a6c30, exc=0xb02a6d98) at mini.c:5897
#12 0x0023e39a in mono_runtime_invoke (method=0x23f4d34, obj=0x7d6d58,
params=0xb02a6c30, exc=0xb02a6d98) at object.c:2809
#13 0x002419a3 in mono_runtime_invoke_array (method=0x23f4d34,
obj=0x7d6d58, params=0x7cfce0, exc=0xb02a6d98) at object.c:4211
#14 0x00245726 in mono_message_invoke (target=0x7d6d58, msg=0x7d7dc0,
exc=0xb02a6d98, out_args=0xb02a6d94) at object.c:5972
#15 0x00280e90 in mono_async_invoke (tp=0x404fc0, ares=0x7d7d80) at
threadpool.c:638
#16 0x00283729 in async_invoke_thread (data=0x7d7d80) at threadpool.c:1440
#17 0x00285031 in start_wrapper_internal (data=0x107ee00) at threads.c:571
#18 0x00285147 in start_wrapper (data=0x107ee00) at threads.c:619
#19 0x002cf449 in thread_start_routine (args=0xc2432c) at wthreads.c:286
#20 0x002e4071 in inner_start_thread (arg=0x107eac0) at
mono-threads-posix.c:49
#21 0x0030dbd8 in GC_start_routine (arg=0x542f60) at pthread_support.c:1507
#22 0x947bfed9 in _pthread_start ()
#23 0x947c36de in thread_start ()

What's 0x005a2108?
(gdb) p mono_pmip (0x005a2108)
$1 = 0x0

Bad news? No, curious news:
(gdb) p mono_pmip (0x005a2107)
$4 = 0x0

(gdb) p mono_pmip (0x005a2106)
$5 = 0x1179ed0 " string:ParseDecimal (string,int&) + 0x86 (0x5a2080
0x5a2107) [0x548e00 - finally_guard.exe]"

disas 0x5a2080 0x5a2110
...
0x005a20f6: pop    %esi
0x005a20f7: pop    %edi
0x005a20f8: pop    %ebx
0x005a20f9: leave
0x005a20fa: ret
0x005a20fb: push   $0x61
0x005a20fd: push   $0x107
0x005a2102: call   0x508338
0x005a2107: add    %al,-0x3f766b06(%ecx)
0x005a210d: add    %esi,0x6(%ebp)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20120530/00115bbf/attachment.html>


More information about the Mono-devel-list mailing list