Ludovic Courtès <[email protected]> writes:
> [email protected] (Ludovic Courtès) skribis: > >> I can’t reproduce this with current Guile ‘stable-2.2’, following Andy’s >> weak-table rewrite¹, so this might have been a weak-table bug showing up >> under memory pressure. > > With Guile 2.2.3 a similar program triggers a crash very quickly: > > --8<---------------cut here---------------start------------->8--- > $ cat ../guile-debugging/syntax-parms.scm > (use-modules (ice-9 threads) > (srfi srfi-1) > (guix monads) > (guix store) > (system base compile)) > > (compile #f) ;load modules > > (define threads > (unfold (lambda (x) (> x 100)) > (lambda (x) > (call-with-new-thread > (lambda () > (while #t > (compile > '(mlet %store-monad ((x y)) > (mbegin %store-monad > (return x) > (return y))) > #:env (current-module) > #:from 'scheme > #:to 'tree-il))))) > 1+ > 0)) > > (for-each join-thread threads) […] > --8<---------------cut here---------------end--------------->8--- I tried this with guile 2.2.4 on my laptop with 4 CPUs (according to lscpu) and I did not get a crash even after waiting for several minutes. -- Ricardo
