I did a fairly through review of the thread-creation and thread-join
code in the git master branch, and it looks to be just fine. Thus,
some experimentation is in order:
Going back to guile-2.0, I see this behavior:
guile -v
guile (GNU Guile) 2.0.11
Packaged by Debian (2.0.11-deb+1-10)
If I add a
Also crashes in guile-2.0, but takes much longer - 5 minutes
--linas
Following program crashes immediately (fraction of a second)
in guile-2.2, current git version (as of 29 Dec 2016
a0656ad4cf976b3845e9b9663a90b46b4cf9fc5a )
It runs fine in guile-2.0. Its doing something slightly squonky:
referencing the variable 'cnt' in a thread. Note definition of
use before d
The (very simple) program below leaks ... something, very rapidly, and
then crashes after about 15-30 seconds. Last thing printed before
crash:
rate=194.80519560944032
num threads=2
((gc-time-taken . 2791348254) (heap-size . 7532883968) (heap-free-size
. 2449408) (heap-total-allocated . 239128826
In guile 2.0.13, both the compiler and the interpreter
fail to identify the source location of errors of the following
form. It instead reports the errors as occurring in boot-9.scm.
(unknown-func unknown-symbol () #t)
GUILD COMPILE ERROR
;;; WARNING: compilation of /home/mike/projects/bug1.scm fa