GNU bug report logs - #32367
2.2.4 hangs when a script uses a module that calls sigaction

Previous Next

Package: guile;

Reported by: Derek Upham <sand <at> blarg.net>

Date: Sun, 5 Aug 2018 00:48:01 UTC

Severity: normal

Found in version 2.2.4

Full log


View this message in rfc822 format

From: Matt Wette <matt.wette <at> gmail.com>
To: 32367 <at> debbugs.gnu.org
Subject: bug#32367: sigaction hangs
Date: Sat, 15 Dec 2018 08:58:51 -0800
On 12/15/18 8:46 AM, Matt Wette wrote:
> -s seems to end up using load-in-vicinity: I can re-create this way:
>
> mwette$ guile -L `pwd` -c '(load-in-vicinity (getcwd) "foo.scm")'
> ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
> ;;;       or pass the --no-auto-compile argument to disable.
> ;;; compiling /home/mwette/proj/guile/bugs-guile/32367/foo.scm
> setting SIGCHILD to SIG_DFL...
> ^C
>

And using `-l' to load scsh.scm fixes the problem:

mwette$ guile -L `pwd` -l scsh.scm -c '(load-in-vicinity (getcwd) 
"foo.scm")'setting SIGCHILD to SIG_DFL...
setting SIGCHILD to SIG_DFL...done
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/mwette/proj/guile/bugs-guile/32367/foo.scm
;;; compiled 
/home/mwette/.cache/guile/ccache/2.2-LE-8-3.A/home/mwette/proj/guile/bugs-guile/32367/foo.scm.go
mwette $

An update from 2.2.3 to 2.2.4 adds call-with-module-autoload-lock which 
places a
mutex around autoload.  This looks like one place to start digging. See 
ice-9/threads.scm:

(set! (@ (guile) call-with-module-autoload-lock)
  (let ((mutex (make-mutex 'recursive)))
    (lambda (thunk)
      (with-mutex mutex
        (thunk)))))






This bug report was last modified 6 years and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.