[Gc] Difference between version 6.3 and latest which is 6.4
Hans.Boehm at hp.com
Mon Jun 20 22:18:19 PDT 2005
Do the malloc'ed objects contain pointers to the garbage-collected heap?
If so, that might explain it. Older versions of the collector also
tried not to trace from the system malloc heap, but they often did so
by accident. The restriction to MEM_IMAGE may be more effective at
excluding the malloc heap.
Tracing from the malloc heap is problematic, since it's hard on some
other platforms, and the GC ends up tracing from deallocated memory
in the malloc heap as well as active memory.
Is it possible to use one of the "API hook" packages to redirect the
malloc calls to GC_malloc_uncollectable? I haven't pursued this, but
someone else suggested this approach in a different context on this list,
On Mon, 20 Jun 2005, Emmanuel Stapf [ES] wrote:
> In addition, I've down testing on the various version of the GC. And from 6.1 to
> 6.3 it works for me. So the breaking change occurred between version 6.3 and 6.4.
> Then I found in `dyn_load.c' the part about MEM_IMAGE you were mentioning in your
> first email, and that was it. Reverting to the 6.3 version made it work on both
> 6.4 and 6.5.
> Any hints on why it would fail for me? Could it be because I'm using a mixture of
> malloc and gc_malloc? The use of `malloc' is beyond my control.
More information about the Gc