Le 19/08/2022 à 00:18, Jean Abou Samra a écrit :
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?


Interestingly:

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 #:to 'bytecode))
scheme@(guile-user)> (use-modules (system vm loader))
scheme@(guile-user)> (repeat 10000 (load-thunk-from-memory (compile 5 #:to 'bytecode)))
Too many root sets
Abandon (core dumped)


So the problem lies in the VM loading infrastructure. (This is
as far as I can investigate for now.)


Reply via email to