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


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Derek Upham <sand <at> blarg.net>
To: bug-guile <at> gnu.org
Subject: 2.2.4 hangs when a script uses a module that calls sigaction
Date: Sat, 04 Aug 2018 17:47:09 -0700
This is with guile-2.2 (2.2.4+1-1) and guile-2.2-libs (2.2.4+1-1) on Debian unstable, for the amd64 architecture.

Create the following one-line script file:

  (use-modules (scsh))

Call it (for example) “foo”.

Create a file named “scsh.scm” in a location where the above “use-modules” form will find it.  I use “/usr/share/guile/site/scsh.scm”.  In “scsh.scm”, put:

  (define-module (scsh))

  (display "setting SIGCHILD to SIG_DFL...")
  (newline)
  (sigaction SIGCHLD SIG_DFL)
  (display "setting SIGCHILD to SIG_DFL...done")
  (newline)

Invoke guile as follows:

  /usr/bin/guile < foo

This is reading commands from stdin.  You should see the expected output:

  GNU Guile 2.2.4
  Copyright (C) 1995-2017 Free Software Foundation, Inc.

  Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
  This program is free software, and you are welcome to redistribute it
  under certain conditions; type `,show c' for details.

  Enter `,help' for help.
  setting SIGCHILD to SIG_DFL...
  setting SIGCHILD to SIG_DFL...done

and a command-line prompt.  Invoke guile as a script:

  /usr/bin/guile -s foo

I see just the following:

  setting SIGCHILD to SIG_DFL...

Guile hangs at this point.

Reverting Guile to 2.2.3 from the Debian testing distribution (guile-2.2-dev_2.2.3+1-3+b1_amd64.deb, guile-2.2-doc_2.2.3+1-3_all.deb, guile-2.2-libs_2.2.3+1-3+b1_amd64.deb, guile-2.2_2.2.3+1-3+b1_amd64.deb) fixes the problem:

  % /usr/bin/guile -s foo 
  setting SIGCHILD to SIG_DFL...
  setting SIGCHILD to SIG_DFL...done

Note that moving the sigaction call from “scsh.scm” to “foo” does not trigger the problem.  It only happens when a script uses a module that calls sigaction.




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.