[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: “Too many root sets” when calling compile frequently

From: Maxime Devos
Subject: Re: “Too many root sets” when calling compile frequently
Date: Fri, 19 Aug 2022 12:19:53 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0

On 19-08-2022 00:18, Jean Abou Samra wrote:

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?


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.


Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]