guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What normally causes "GC missed a reference"?


From: Dirk Herrmann
Subject: Re: What normally causes "GC missed a reference"?
Date: Tue, 16 Jan 2001 17:46:57 +0100 (MET)

On 16 Jan 2001, Rob Browning wrote:

> Anyway here is the most typical error message, but they can vary.  I
> was hoping someone might know the most likely cause so I can narrow my
> search.  Also any ideas about the easiest way to track this down would
> be welcome.
> 
>   /opt/gnucash/share/gnucash/scm/report.scm:56:18: In procedure
>      gnc:report-window in expression (gnc:report-window rept):
>   /opt/gnucash/share/gnucash/scm/report.scm:56:18: Wrong type argument
>      in position 2: #<freed cell 0x40d6d158; GC missed a reference>

This message indicates that you are accessing a "free cell", i. e. a cell
which was freed by the garbage collector.  The reason is, that a cell,
which was actually still in use, appeared to be unused from the point of
view of the garbage collector.

A typical situation is that you are using a smob type which holds SCM
objects, but your mark function of that smob does not actually mark all of
those objects.  If that is the case, a good approach to find that bug 
would be to try to figure out which kind of object you were actually
expecting instead of the free cell.  Then, you would be able to figure out
where you got that object from.  This way you would be getting closer to
the smob type that had that particular object in store during a garbage
collection.

Best regards,
Dirk Herrmann




reply via email to

[Prev in Thread] Current Thread [Next in Thread]