Description of problem: I noticed weird reaction to SIGSTOP signal. When you start container with --sig-proxy, ignore all signals in container and from OS use kill -SIGSTOP to the `docker run` process, it's put into background. (so far correct behavior) Than when you use kill -SIGCONT, it's resumed (still in background) and it's continuing to send signal 21 to the container (100% CPU utilization). This disappears once you attach the process with fg. Version-Release number of selected component (if applicable): docker-io-0.9.1-1.fc21.x86_64 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 -SIGSTOP $PID 4. kill -SIGCONT $PID Actual results: [1]+ Pozastavena /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' [root@t530 ~]# Received 21, ignoring... Received 21, ignoring... Received 21, ignoring... Received 21, ignoring... Received 21, ignoring... Received 21, ignoring... ... (100% CPU utilization, when you use fg it stops and you can use the container again...) Expected results: [1]+ Pozastavena /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' [root@t530 ~]# Received 21, ignoring... Additional info: I'm not definitely sure if this is really required as it's not a common usage. But as there is no way to detach the process apart from kill -SIGSTOP people might use it and get to this problem...
I retested this with the upstream dc9c28f/0.10.0 with the same results. The daemon output is: ... [/home/medic/Work/Projekty/Docker/root|fa3816b6] -job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) = OK (0) 2014/05/05 09:58:13 POST /v1.10/containers/b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5/kill?signal=TTIN [/home/medic/Work/Projekty/Docker/root|fa3816b6] +job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) [/home/medic/Work/Projekty/Docker/root|fa3816b6] -job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) = OK (0) 2014/05/05 09:58:13 POST /v1.10/containers/b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5/kill?signal=TTIN [/home/medic/Work/Projekty/Docker/root|fa3816b6] +job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) [/home/medic/Work/Projekty/Docker/root|fa3816b6] -job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) = OK (0) 2014/05/05 09:58:13 POST /v1.10/containers/b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5/kill?signal=TTIN [/home/medic/Work/Projekty/Docker/root|fa3816b6] +job kill(b01a849cb45ebe94c3a61fa021a5464186345d5b159faee4ea9d5da39fb36de5, TTIN) ...
Are you still seeing this with 0.11?
I tested it only on RHEL version of this package here: https://bugzilla.redhat.com/show_bug.cgi?id=1096273 the bug persists...
Can you test against docker-1.2
On docker-1.2.0-19.el7.x86_64 it still fails and results in too many open files: [debug] commands.go:610 Error sending signal: Post http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/kill?signal=TTIN: dial unix /var/run/docker.sock: too many open files [debug] commands.go:610 Error sending signal: Post http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/kill?signal=TTIN: dial unix /var/run/docker.sock: too many open files [debug] commands.go:610 Error sending signal: Post http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/kill?signal=TTIN: dial unix /var/run/docker.sock: too many open files [debug] commands.go:610 Error sending signal: Post http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/kill?signal=TTIN: dial unix /var/run/docker.sock: too many open files [debug] commands.go:610 Error sending signal: Post http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/kill?signal=TTIN: dial unix /var/run/docker.sock: too many open files [debug] stdcopy.go:98 Corrupted prefix: [] [debug] hijack.go:102 [hijack] End of stdout [debug] hijack.go:110 [hijack] End of stdin [debug] hijack.go:118 Couldn't send EOF: use of closed network connection [debug] commands.go:2332 End of CmdRun(), Waiting for hijack to finish. 2014/09/26 13:07:49 Get http:///var/run/docker.sock/v1.15/containers/64b2b2d8171bca438d6c7a0e2ed93573e0dd37ab1a0c9a2f75f8acd77bda8236/json: dial unix /var/run/docker.sock: too many open files
I'm fairly certain this is an issue with Golang, not docker-specific. Upstream issue tracker describing very similar symptoms from SIGSTOP: https://github.com/golang/go/issues/4391
Not something docker can fix.