-
Notifications
You must be signed in to change notification settings - Fork 606
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
docker checkpoint create fails #1316
Comments
This is still the same bug. The state in the launchpad bug report is wrong. Please also report it there that it is still broken, but I have doubts that it will ever get resolved. My recommendation right now it to not use Ubuntu if you want to do checkpoints on overlayfs and last time I checked Docker was also broken. Our CI runs with Docker do not work any more. So, do not use Ubuntu and Docker to checkpoint and restore containers currently. Try Podman on something else than Ubuntu. That should work pretty reliably. |
Thanks, Adrian! I will report in launchpad. Is there a way to avoid use of overlayfs? |
Yes, for CRIU CI we use devicemapper as graphdriver. Not sure if that still exists with latest docker. Podman has a dir graphdriver which also avoids overlayfs. |
@adrianreber thanks for all the helpful info on this error. I noticed that the Podman CI tests for CRIU ( e.g., https://github.com/checkpoint-restore/criu/runs/1619725048 ) are running on Ubuntu (See https://github.com/checkpoint-restore/criu/runs/1619725048#step:3:165 ) :
Maybe I missed something, but how do the test get CRIU + Podman + Ubuntu working? edit: is this the reason? criu/scripts/ci/podman-test.sh Lines 36 to 38 in 21b4618
|
You are correct. Podman uses the You can either not use Ubuntu or not use overlayfs. The Ubuntu Kernel has a non upstreamed patch which breaks CRIU on overlayfs. For docker we are trying to use the |
For anyone in the future, configuring Tested in Ubuntu 18.04 LTS. |
Thanks for the information. You have to be aware, however, that |
A fix for the problem with overlayfs has been merged in the |
The Ubuntu kernel with this patch was released as of writing this. I am able to checkpoint with |
Hello!
I am trying to experiment with criu and experimental docker feature
docker checkpoint
. Unfortunately, experiments are not really successful by now.I have Ubuntu 20.04 with 5.8.0-29-generic kernel (available from Ubuntu repo)
I originally tried it on kernel 5.6.0-1034-oem with the same result. After reading issue #860, I updated to 5.8.0-29-generic as it was stated at the end that this issue was corrected in 5.8.0-16.17 (according to ubuntu kernel bug https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1857257.
I use Docker 20.10.0, build 7287ab3. I enabled experimental mode in docker, so, docker checkpoint command became available. I also installed criu package from ubuntu repo:
criu version 3.15
I also check that criu works:
After that I try to run the simple example from criu.org/Docker:
docker run -d --name looper --security-opt seccomp:unconfined busybox \ /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'
Docker starts container and logs show that everything is fine:
After that I try to create checkpoint and get an error:
The file criu-dump.log is here:
criu-dump.log
The error is indicated at the end of that file and is as follows:
I also did checks mentioned in issue #860:
$ grep "^1700\>" /proc/*/mountinfo
and it did not return anything.
Inside the container (with the output):
Is it still kernel issue? Or is it completely different bug somewhere else? Is there any way around this problem?
Thank you very much in advance.
The text was updated successfully, but these errors were encountered: