https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Bug ID: 1096276 Summary: signal 27 (SIGPROF) not passed to container using --sig-proxy Product: Red Hat Enterprise Linux 7 Version: 7.1 Component: docker Assignee: lsm5@redhat.com Reporter: ldoktor@redhat.com QA Contact: virt-bugs@redhat.com CC: admiller@redhat.com, golang@lists.fedoraproject.org, lsm5@redhat.com, mattdm@redhat.com, mgoldman@redhat.com, skottler@redhat.com, vbatts@redhat.com Depends On: 1087720
+++ This bug was initially created as a clone of Bug #1087720 +++
Description of problem: When I send signal 27 to the docker process, which is running with --sig-proxy=true, it's not forwarded. Other signals are...
Version-Release number of selected component (if applicable): docker-0.10.0-8.el7.x86_64 docker-io-0.9.1-1.fc21.x86_64 upstream Docker version 0.10.0, build dc9c28f/0.10.0
How reproducible: always
Steps to Reproduce: 1. /usr/bin/docker -D run --tty=false --rm -i --name test_eoly localhost:5000/ldoktor/fedora:latest bash -c 'for NUM in `seq 1 64`; do trap "echo Received $NUM, ignoring..." $NUM; done; while :; do sleep 1; done' 2. ps ax |grep docker 3. kill -27 $PID
Actual results: nothing
Expected results: Received 27, ignoring...
Additional info: When you send any other signal (apart from 19 or 9) it works fine.
--- Additional comment from Lukas Doktor on 2014-04-15 04:59:24 EDT ---
The signal 17 is also ignored.
--- Additional comment from Lukas Doktor on 2014-05-05 03:48:25 EDT ---
The same bug is in upstream Docker version 0.10.0, build dc9c28f/0.10.0
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1087720 [Bug 1087720] signal 27 (SIGPROF) not passed to container using --sig-proxy
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Chris Evich cevich@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cevich@redhat.com Version|7.1 |7.0 Severity|unspecified |high
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dwalsh@redhat.com
--- Comment #3 from Daniel Walsh dwalsh@redhat.com --- I have a hard time believing this is a bug in the code. But more then likely this signal can not be sent, and not sure why this is a stopper.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #4 from Chris Evich cevich@redhat.com --- (In reply to Daniel Walsh from comment #3)
I have a hard time believing this is a bug in the code. But more then likely this signal can not be sent, and not sure why this is a stopper.
Hmm, this is possible, I am not familiar enough with GNU/Linux of that particular signal to know any better. It's entirely possible you're right and can't be passed. It's a test stopper because we hae no guidance on what should/shouldn't get proxied, simple as that. So if it's special in some way, then we can skip testing it and close this. I'll poke around on google and see if there are any answers...
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #5 from Lukas Doktor ldoktor@redhat.com --- I'm not sure either. The only think I know is that when you try the same using pure bash it's able to receive it (the only missing signals are: 17 SIGCHLD 19 SIGSTOP (puts process in background) 20 SIGTSTP 21 SIGTTIN (works with docker, probably xterm problem) 22 SIGTTOU (works with docker, probably xterm problem)
The 27 is handled properly using simple bash. I guess it might be used by go somehow? In such case I'd gladly accept man page modification as a solution.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #6 from Chris Evich cevich@redhat.com --- Thinking about it more, I think some good docs on what to expect with --sigproxy would be probably be good enough for now. Icing on the cake would be logged debug messages or docker events regarding proxied signals. Either or both would greatly reduce the amount of guessing needed in terms of what is expected to work, what is unreliable, and what is unlikely to work.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|lsm5@redhat.com |whenry@redhat.com
--- Comment #7 from Daniel Walsh dwalsh@redhat.com --- William could you just add this documention to the man page.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|whenry@redhat.com |mheon@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #8 from Matthew Heon mheon@redhat.com --- Issue #1087720 tracks an identical bug in the Fedora build. In short, all signals save 17 work properly. Signal 17 is not proxied by design. I've submitted a docs patch to clarify that sig-proxy does not actually forward signal 17. Said patch didn't make it into RHEL docker-1.0 but should be in the next version.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #9 from Daniel Walsh dwalsh@redhat.com --- We have not shipped docker-1.0 yet, so ask Lokesh to add it.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Matthew Heon mheon@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED Fixed In Version| |docker-1.0
--- Comment #10 from Matthew Heon mheon@redhat.com --- Patch is in our builds of docker-1.0
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #11 from Lukas Doktor ldoktor@redhat.com --- Hi Matthew, from the discussion I'm not sure, what the fix looks like. I found `SIGCHLD is not proxied` in the `docker-1.0.0-10.el7.x86_64` man page. How about the SIGCONT, SIGSTOP and SIGPROF (well and SIGKILL, it only kills the run/attach and the container is still running :-D)? Can you please point me to the documentation, where can I find them?
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #12 from Matthew Heon mheon@redhat.com --- Docs have been updated to indicate that SIGSTOP and SIGKILL are not proxied, this should appear in the next RHEL build of Docker.
I'm hesitant to document the remaining few (SIGCONT and SIGPROF) given that they are technically Golang bugs - if they're fixed, the documentation would no longer be accurate.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #13 from Lukas Doktor ldoktor@redhat.com --- I see. Can you please put here the BZ for golang bug so I can make test dependency (autotest-docker is able to trace BZ status and run the specific test only when BZ is resolved).
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Lukas Doktor ldoktor@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mheon@redhat.com Flags| |needinfo?(mheon@redhat.com)
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #14 from Daniel Walsh dwalsh@redhat.com --- Fixed in docker-1.2
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #15 from Lukas Doktor ldoktor@redhat.com --- Hi Daniel, what is the fix? I can't find any mentioning of SIGPROF in man pages and it's not being proxified...
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #16 from Daniel Walsh dwalsh@redhat.com --- Just that Matt's Fixes should be in this build.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #17 from Lukas Doktor ldoktor@redhat.com --- OK, I `man docker run` on docker-1.3.0-1.el7.HTB.x86_64 says:
--sig-proxy=true|false Proxy received signals to the process (even in non-TTY mode). SIGCHLD, SIGSTOP, and SIGKILL are not proxied. The default is true.
Althought, Matthew, I thought about your concern with golang signals. CI should cover them so in case this test starts passing we will create bugzilla to remove the signals from man pages. Would that be acceptable?
Regards, Lukáš
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
--- Comment #18 from Daniel Walsh dwalsh@redhat.com --- Yes sounds good to me. Matthew is back at University.
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Red Hat Bugzilla Rules Engine rule-engine@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Extras
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
John Skeoch jskeoch@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|mheon@redhat.com |jrieden@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|jrieden@redhat.com |dwalsh@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=1096276 Bug 1096276 depends on bug 1087720, which changed state.
Bug 1087720 Summary: signal 27 (SIGPROF) not passed to container using --sig-proxy https://bugzilla.redhat.com/show_bug.cgi?id=1087720
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |CLOSED Resolution|--- |CANTFIX
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Lei Wang leiwang@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- QA Contact|virt-bugs@redhat.com |atomic-bugs@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=1096276
Daniel Walsh dwalsh@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |CLOSED Resolution|--- |CURRENTRELEASE Last Closed| |2016-01-07 16:35:45
golang@lists.fedoraproject.org