GNU bug report logs -
#27476
Multi-threaded compilation of 'syntax-parameterize' forms crashes
Previous Next
Full log
View this message in rfc822 format
Ludovic Courtès <ludo <at> gnu.org> writes:
> ludo <at> gnu.org (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
This bug report was last modified 4 years and 219 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.