-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
podman checkpoint failed because of 'external socket is used' #12275
Comments
latest test on Ubuntu 20.04 with Podman 3.3.1 dump.log:
|
@adrianreber PTAL |
Those are tow different errors. The second should be fixed by a kernel update. Ubuntu has non-upstreamed kernel patches to support shiftfs and they break CRIU on overlayfs: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1857257 and checkpoint-restore/criu#1316 Updating the kernel should fix this, although we have seen the same error on 21.10. The first error could be fixed with But: Not sure what the container is doing, but seeing an X socket sounds like this will not work anyway. CRIU cannot checkpoint processes using a graphics card because it is not possible to extract the state from the GPU. Anything using the graphics card will not work. There are patches to support AMD GPGPUs but only as an accelerator and not as a graphics card. |
@adrianreber Thanks for your reply.
yes, X socket is used because I'm tryting to migrating games to test the performance of cloud gaming running in an mobile edge computing environment. Since cloud game is faced with challenge of service migration, is there any chance to support checkpointing GUI applications in the future? |
Theoretically it is possible. But, people have been asking this for years and it still does not exist. Assuming it is possible to extract the hardware state out of the GPU it should be doable, and I do not know if all graphics cards can even do this. From what I have heard from AMD (https://linuxplumbersconf.org/event/11/contributions/891/) it works for GPGPU use cases and so it should be theoretically be possible for graphics use cases. But that is a lot of development work. The kernel interfaces do not exist yet and if they exist a plugin for CRIU needs to exist to handle this and then you need full support from the hardware vendor to implement this. It is doable, but, from my point of view, only with the help of the hardware vendor and even then it will take a lot of time. This is all a CRIU only problem and not something Podman can solve. |
@adrianreber I'll close this issue |
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
checkpoint a container failed and the dump.log says it result from "external socket is used"Steps to reproduce the issue:
docker.io/zzdflyz351/snake-edge
starts a container that can run a little GUI multiplayer snake gameDescribe the results you received:
Describe the results you expected:
the container is supposed to be dumped
Additional information you deem important (e.g. issue happens only occasionally):
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide? (https://github.com/containers/podman/blob/master/troubleshooting.md)
No, it is lately installed on Ubuntu18.04.6 using apt install. In my environment, ubuntu18.04 must be used.
Additional environment details (AWS, VirtualBox, physical, etc.):
the last few lines of dump.log:
The text was updated successfully, but these errors were encountered: