On 19-08-2022 00:18, Jean Abou Samra wrote: > Hi, > > Calling the Guile compiler often causes this BDWGC error: “Too > many root sets”. > > scheme@(guile-user)> (define-syntax-rule (repeat n expr expr* ...) (do > ((i 0 (1+ i))) ((eqv? i n)) expr expr* ...)) > scheme@(guile-user)> (use-modules (system base compile)) > scheme@(guile-user)> (repeat 10000 (compile 5)) > Too many root sets > Abandon (core dumped) > > Any idea what is going on here? Should I report it as a bug? > Is there a workaround? > > Thanks, > Jean IIRC, Guile used to support garbage collection of compiled code, but that support has been removed. I cannot find that in the Git history or NEWS, so maybe that's incorrect. If that is correct, maybe with sufficient tests and care, support for unloading compiled code can be restored, removing the call to GC_add_roots. Greetings, Maxime.