[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mark procedures
From: |
Andy Wingo |
Subject: |
Re: Mark procedures |
Date: |
Mon, 20 Jun 2016 12:34:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Picking up an old thread....
On Thu 05 Nov 2015 14:11, Andy Wingo <address@hidden> writes:
> (1) A bug related to SMOB finalization and marking that affects
> LilyPond
>
> For (1) it seems to me that we just have a bug. A SMOB mark function
> was called on an object after the finalizer. ****Note**** that having
> the finalizer called doesn't mean that the GC object was collected -- it
> just means it was collectable, perhaps in a clique of objects.
> Finalization being asynchronous with marking it's possible that a clique
> of objects was only half-finalized when a new mark procedure runs. The
> mark procedure saw an object on which free() was already called -- this
> is possible.
>
> We should fix Guile so to "null out" the SMOB typecode when the SMOB
> finalizer is called. If our mark procedure sees a SMOB that has already
> been finalized, it just returns.
AFAIU the Lilypond / Guile 2.0 bug is still there. Has anyone tried
this strategy to fix it?
Andy
- Re: Mark procedures,
Andy Wingo <=