[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mark procedures
From: |
Ludovic Courtès |
Subject: |
Re: Mark procedures |
Date: |
Mon, 20 Jun 2016 14:15:41 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Andy Wingo <address@hidden> skribis:
> 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?
I haven’t. :-/
Ludo’.