Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runscript does not pass signals (e.g. SIGINT) to forked processes as it did in version 2 #2663

Closed
lparsons opened this issue Feb 6, 2019 · 3 comments
Assignees

Comments

@lparsons
Copy link

lparsons commented Feb 6, 2019

Version of Singularity:

3.0.3

Expected behavior

Signals (e.g. SIGINT) are passed from the runscript to the forked process being executed.

Actual behavior

Signals are not passed to forked processes since the runscript uses eval to execute the command. In earlier versions (version 2.x) it used exec which meant that signals made it to the new process.

Steps to reproduce behavior

  1. Pull docker container
  2. Issue command using singularity run container.img COMMAND_LISTENING_FOR_SIGINT
  3. Send SIGINT to the child process created in 2.

There is an example of this problem documented in ComparativeGenomicsToolkit/cactus#60.

Another somewhat related issues was #2622, although that was regarding quoting of parameters.

@cclerget
Copy link
Collaborator

cclerget commented Feb 6, 2019

Hi @lparsons, current master branch should fix this issue

@mem
Copy link
Contributor

mem commented Sep 2, 2019

The issue is related to this #3696? (I could not find another commit that deals with signals, and given @cclerget comment above, I don't think #3696 is the right one given the timestamp).

@cclerget
Copy link
Collaborator

cclerget commented Sep 3, 2019

Closing, fixed by #2552

@cclerget cclerget closed this as completed Sep 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants