runtime
runtime copied to clipboard
Qemu processes left behind for older versions of docker
Description of problem
Started a container with docker 1.13.1
$ docker run -it debian
# exit
Expected result
With no other containers , ps aux | grep qemu should show no qemu processes around
Actual result
Qemu processes still left behind.
Upgraded to docker-ce 1.17.09. Problem goes away. Something seems to be inconsistent in the way kill/delete is handled. We need to fix this for older versions of docker. Have seen this with Docker 1.12 and 1.13
I see the same, and further, I see the containers in the stopped state when executing cc-runtime list:
# cc-runtime list
ID PID STATUS BUNDLE CREATED OWNER
2dca2fad5eeee801db2e30ccfb90932dcde8c3901da62c7889f4d0e21b84220a 231284 stopped /run/docker/libcontainerd/2dca2fad5eeee801db2e30ccfb90932dcde8c3901da62c7889f4d0e21b84220a 2017-12-07T19:25:04.582622533Z #0
91012f3e960d43347c46c52461a8624fe9d1146d13f31b4ffcd47f837286f862 231141 stopped /run/docker/libcontainerd/91012f3e960d43347c46c52461a8624fe9d1146d13f31b4ffcd47f837286f862 2017-12-07T19:24:56.093629951Z #0
I'm seeing something similar or maybe the same on docker 17.09.0-ce. When running metrics tests in a loop or under the CI, every now and then the 'unexpected qemu' error triggers: https://github.com/clearcontainers/tests/blob/master/metrics/lib/common.bash#L269
I've seen this a few times, but have not had time to sit down and see if it is reliably reproducible. If I were to do that, I'd probably start by running this: https://github.com/clearcontainers/tests/blob/master/integration/stability/soak_parallel_rm.sh and see how that fairs - it has a pretty good track record of catching such things.