Picking up an old thread.... On Thu 05 Nov 2015 14:11, Andy Wingo <wi...@pobox.com> 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