[Gc] a bug in v.7.1 ?

Glauco Masotti glauco.masotti at libero.it
Wed Mar 2 01:00:21 PST 2011

I would like it were so Bruce.

I normally map free to no-op.

There are only a few selected GC_FREE calls in the code, for some large arrays (allocated with malloc_atomic).
This part of the code is there since several years, and super-tested, so I cannot believe it's the cause of this 
In any case, if I placed some free in excess, this would compromise MMM as well, isn't it?
On the contrary the program works fine with MMM (although I verified that there are several leaks, so that the heap gets 
huge quickly),
instead with the GC this problem showed up.

Some 3-4 years ago I dug into MM and GC. I found also some problems/bugs with older versions of the collector,
then I relied on 7.1, as I said, without encountering problems till a few days ago.
Now I am blocked by this bug, and I still have no idea were it comes from.

Maybe my memory of all the issues involved with MM and GC is a bit faded out.
Anyone has other suggestions to debug and possibly solve a case like this?

--- GM

----- Original Message ----- 
From: "Bruce Hoult" <bruce at hoult.org>
To: "Glauco Masotti" <glauco.masotti at libero.it>
Cc: <gc at linux.hpl.hp.com>
Sent: Tuesday, March 01, 2011 11:14 PM
Subject: Re: [Gc] a bug in v.7.1 ?

On Wed, Mar 2, 2011 at 8:03 AM, Glauco Masotti <glauco.masotti at libero.it> wrote:
> Hi Bruce.
> I made more than that: I disabled the GC! A lot of the code has never been
> tested in this condition, because for years I used to go with the GC,
> however I continued to write the code as if  manual memory management (MMM)
> could also be used.
> Maybe I have some leaks, but hitherto everything seems to go right! I am
> impressed :-)
> But I am so surprised that this problem came out after using 7.1 for years!
> As for 6.6 it behaves the same, while 6.2, contrarily to what I said in my
> previous mail, only delays the problem.
> So, if it's a bug it has been there for a long time, so it's very strange
> that none has found it before.
> If it's not a bug, what can be the cause of this problem, given that with
> MMM the program behaves correctly?!

If your code works with malloc() and free() then my guess that you're
using GC_free() is correct?

When you use the GC, are you mapping free() to GC_free() or to no-op?

More information about the Gc mailing list