[Mono-list] Addresses marked as ??? in Valgrind stack trace

Kerrick Staley mail at kerrickstaley.com
Sat Oct 13 03:24:42 UTC 2012

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

==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


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

More information about the Mono-list mailing list