https://bugzilla.redhat.com/show_bug.cgi?id=1096273
--- Comment #13 from Matthew Heon mheon@redhat.com --- I was actually running a build of the latest upstream Docker when attempting to reproduce, which appears to be the source of the inconsistency.
The good news is that this build doesn't express this bug fully - SIG21 is sent only 3 times, and there's no warning of too many open files.
The bad news is that 100% CPU utilization still persists despite this.
I think this likely has to do with SIGSTOP not being proxied (SIGSTOP and SIGKILL can't be caught, so the signal proxy can't forward them - they apply to the docker client process, not the container. I'll write up a patch to clarify this in the docs). It seems like something is timing out on the server during this, and the client is attempting to reconnect.
Worth noting that, if you send both signals near-simultaneously (kill -SIGSTOP $PID; kill -SIGCONT $PID) this does not happen - definitely seems to be a timeout.
I'll investigate further.