Skip to content

Make debug-gc-object-lifetimes useful on Guile 2

Jonas Hahnfeld requested to merge hahnjo/lilypond:guile2-undead into master

Filter finalized smobs out of undeads

Guile puts the garbage collector into "Java finalization" mode. This means to-be-finalized objects are marked to keep dependent objects around until the next collection, in case the finalizer puts them into a global variable and makes them live again. Just ignore these cases since the smob is gone from our point of view.

Allow the usage of debug-gc-object-lifetimes on Guile 2, but keep it disabled by default until all issues are resolved.


Avoid keeping modules alive for too long

Commit 1e789f64 ("Reset modules after each file with Guile 2.x") had a minor flaw because the variable global-modules could keep the modules alive after calling (set-module-submodules!). Just remove the variable that is used only once in session-save.

Merge request reports