Skip to content
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

restore puts processes in wrong cgroup #1651

Open
hanwen-flow opened this issue Jan 29, 2025 · 0 comments
Open

restore puts processes in wrong cgroup #1651

hanwen-flow opened this issue Jan 29, 2025 · 0 comments

Comments

@hanwen-flow
Copy link

See checkpoint-restore/criu#2577

in this example, we have a container with a dummy entrypoint (a python3 http.server) to keep the container alive while other commands run in it. The command we run in it is a daemonized Java server. Checkpointing and restoring works OK, but the restored container is incorrect, because it cannot be checkpointed again.

@adrianreber clarifies:

Try runc instead of crun. crun has a bug that only the first process of the container is put in the correct cgroup after restore.

If I remember it correctly the difference is that runc move the CRIU binary in the correct cgroup and runs it there, crun creates the container and moves only one PID into the container after restore. So either crun must walk the process tree and move all PIDs into the right cgroup or create a helper process that is moved into the cgroup that calls CRIU. Something like that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant