Han-Wen Nienhuys schreef op vr 10-12-2021 om 15:59 [+0100]: > On the one hand, the docs for smobs state "must assume .. all SCM > values that it references have already been freed and are thus > invalid", which suggests that smob freeing happens in random order, > which is consistent with what we see. On the other hand, Guile sets > up > BDWGC with GC_java_finalization=1, which should keep GC dependencies > of an object alive until the object itself is finalized, and I think > we have observed the mark calls that make this happen. > > which of the two is it?
I assume that the fact that Java-style finalization is used, is considered an internal implementation detail. That doesn't explain why things are going wrong, of course. Greetings, Maxime