[Gc] Strange issues

Boehm, Hans hans.boehm at hp.com
Tue Jan 3 11:43:17 PST 2006


This sounds like it might be another indication that the dynamic library
root scanning algorithm on Windows is still wrong.  Currently the
collector traces only from MEM_IMAGE segments.  An earlier message
suggested that this is wrong for Windows ME, and MEM_PRIVATE should at
least be considered as well.

It would be helpful if you could see if that changes anything.  Search
for MEM_IMAGE in dyn_load.c.  The relevant test in
GC_register_dynamic_libraries() should be fairly obvious.  Instead of
buf.Type == MEM_IMAGE, test for
(buf.type == MEM_IMAGE || buf.type == MEM_PRIVATE).

Thanks.

Hans

> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com 
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Ben Hutchings
> Sent: Thursday, December 29, 2005 6:45 AM
> To: Shiro Kawai
> Cc: manus at eiffel.com; gc at napali.hpl.hp.com
> Subject: Re: [Gc] Strange issues
> 
> 
> Shiro Kawai wrote:
> > GC only sees the data area as a root set.  In you case
> > I guess oresult is placed in bss area,
> <snip>
> 
> The GC should not (and does not attempt to) distinguish 
> between zeroed data (aka BSS) and loaded data.  Your 
> suggestion may work, but if so then it indicates a bug in the 
> collector.
> 
> Manu, which platform is this occurring on?
> 
> Ben.
> 
> -- 
> Ben Hutchings
> The two most common things in the universe are hydrogen and stupidity.
> 



More information about the Gc mailing list