[Gc] Re: Re: Re: FW: Re: Cannot print call chain

biosli biosli at hotmail.com
Thu Jul 15 03:51:45 PDT 2010


Hi all:

Boehm, Hans <hans.boehm at ...> writes:

> 
> It would also be good to verify that p and GC_base(p) are the same.
> 
> This test checks that the allocated object is big enough to hold the debug 
information.  The fact that it
> doesn't appear to be suggests that either there's something seriously 
inconsistent here, or something
> has gone seriously wrong when the object was allocated.
> 
> Hans

To Hans:

At GC_has_other_debug_info I compare p and the pointer GC_base(p) return, they 
are same.

And I add PRINT_CALL_CHAIN in GC_debug_malloc after ADD_CALL_CHAIN, the call 
chain can print out.

> > > Ivan Maidanski <ivmai at ...> writes:
> > > > > GC_debug_print_heap_obj_proc calls GC_HAS_DEBUG_INFO(p), and
> > return false
> > > > > because (sz < DEBUG_BYTES + EXTRA_BYTES).
> > 
> > And what are that values (sz, DEBUG_BYTES, EXTRA_BYTES) when (sz <
> > DEBUG_BYTES + EXTRA_BYTES)?

To Ivan:
sz is 40.

BTW, before I get memory leak info, i got two smash info before.
GC_check_heap_block: found smashed heap objects:
01F21C60 in or near object at 01F21C68(<smashed>, appr. sz = 5)
01F21C98 in or near object at 01F21CA0(<smashed>, appr. sz = 5)

When I use old version of GC, smashs were never happen.
Are the smashs make the call chain problem?

Thanks all your help!!



More information about the Gc mailing list