GNU bug report logs -
#52646
GC thread freeze
Previous Next
Full log
Message #8 received at 52646 <at> debbugs.gnu.org (full text, mbox):
Hello!
Mathieu Othacehe <othacehe <at> gnu.org> skribis:
> I experiment a strange behaviour with this Guile 3.0.7 process:
> https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/tree/src/cuirass/scripts/remote-worker.scm.
>
> The process is forking N processes that in turn start 4 threads.
This is happening in this order, right?
POSIX leaves unspecified the behavior of a child process forked from a
multi-threaded process; there could be deadlocks, etc. ‘primitive-fork’
prints a warning when called from a multi-threaded Guile process.
The solution is for multi-threaded Guile processes to not fork at all,
or to fork only via ‘open-pipe*’, ‘system*’, etc., which are “known
good” (they take care of post-fork handling in the child and call ‘exec’
before anything bad could happen.)
Thanks,
Ludo’.
This bug report was last modified 3 years and 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.