|
From: Jeremy F. <je...@go...> - 2005-03-15 19:54:41
|
strk wrote:
>Yes. valgrind-2.4.0.rc4.
>
>==26276== Conditional jump or move depends on uninitialised value(s)
>==26276== at 0x1C057E52: GC_push_all_eager (mark.c:1469)
>==26276== by 0x1C0593EE: GC_push_current_stack (mark_rts.c:488)
>==26276== by 0x1C060714: GC_generic_push_regs (mach_dep.c:452)
>==26276== by 0x1C059555: GC_push_roots (mark_rts.c:628)
>
Yeah, that's the Boehm garbage collector. It does stuff which no
correct program should do, like wander around reading random pieces of
memory. I once looked at what it would take to make it valgrind-clean,
and it would be a bit fiddley; you'd need to put in client requests to
tell Valgrind "no, this is actually OK" by twiddling the memory state,
doing the read, then restoring it. I guess a cleaner approach would be
something like VALGRIND_SAFE_MEMREAD/WRITE which says that you really
mean to read/write the address, and you want no complaints...
On the other hand, since the program is using GC, the leak checker
probably won't be able to tell you much. Or are you interested in
Valgrinding some non-Java code linked in with the Java?
You could just use a blanket suppression on CG_* symbols to make all the
noise go away...
J
|