Miraculously, just as all hope seemed lost, I discovered that ahead-of-time indeed causes a crash, but before the crash a shared object file is written containing the compiled code. The presence of this shared object file apparently causes function call information to appear in stacktraces (when using just-in-time).
Here's a question more for the Mono people: before any of these crashes, I get some errors in Valgrind, all of them with the same message: ==27672== Conditional jump or move depends on uninitialised value(s) ==27672== at 0x81D736F: conservatively_pin_objects_from (sgen-gc.c:2036) In GDB, this is the first frame of the corresponding backtrace: #0 0x081d736f in conservatively_pin_objects_from (start=0xbec83a20, end=<value optimized out>, start_nursery=0x4800000, end_nursery=0x4c00000, pin_type=0) at sgen-gc.c:2036 This message is printed 4 times: twice for line 2016, and twice for line 2036 (all at different instruction addresses). All errors are apparently from the same invocation (same arguments). The code is here: https://github.com/mono/mono/blob/mono-2-10-9/mono/metadata/sgen-gc.c#L2016 I've been assuming that this isn't a bug but rather is is the result of an omission in Mono's Valgrind suppression file. I'm not entirely sure, though; could this error ultimately be causing the crash? Also, thanks Phillippe for the info about --vgdb-error=0; I tried it and it worked, but I haven't had a chance to delve into the additional functionality vgdb provides. - Kerrick _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
