Comments (8)
The problem you see is because of duplicate PIDs. CRIU always creates processes with the same PID they had when checkpointing. In your destination environment the PID 12 is already in use so the restore fails.
Common workarounds are to use a container for each process you are trying to restore or the criu-ns
script.
What are you trying to achieve? If we would know what your goal is we could maybe give you a better workaround.
Using criu-ns
in a container will probably lead to nested namespaces and that is something CRIU usually does not handle well.
from criu.
@adrianreber Thank you for your response. I want to run multiple instances of the same app, with the second and subsequent instances coming from the checkpoint of the first instance. Each instance runs in a different docker container. In other words, a container runs only one instance.
from criu.
So why do you do the checkpoint inside of the container. Docker and Podman offer checkpoint commands which can easily do that:
$ podman container checkpoint -R --export=/tmp/cp.tar
$ podman container restore --import=/tmp/cp.tar --name=copy1
$ podman container restore --import=/tmp/cp.tar --name=copy2
Something like that.
from criu.
Common workarounds are to use a container for each process you are trying to restore or the
criu-ns
script.
It is currently restored in a different container. But report the error described above.
from criu.
Common workarounds are to use a container for each process you are trying to restore or the
criu-ns
script.It is currently restored in a different container. But report the error described above.
Because there is already something running in the destination container. If you use Podman's or Docker's built-in support you avoid the problem of PID collisions.
from criu.
So why do you do the checkpoint inside of the container. Docker and Podman offer checkpoint commands which can easily do that:
$ podman container checkpoint -R --export=/tmp/cp.tar $ podman container restore --import=/tmp/cp.tar --name=copy1 $ podman container restore --import=/tmp/cp.tar --name=copy2Something like that.
Thanks, I'll try tomorrow.
from criu.
Common workarounds are to use a container for each process you are trying to restore or the
criu-ns
script.It is currently restored in a different container. But report the error described above.
Because there is already something running in the destination container. If you use Podman's or Docker's built-in support you avoid the problem of PID collisions.
I understand a little bit. There are other programs occupying the pid.
from criu.
A friendly reminder that this issue had no activity for 30 days.
from criu.
Related Issues (20)
- [question about criu] Will it work on steam deck? HOT 2
- CRIU dumps triggers COW on all memory in all child processes HOT 18
- How a app can know that it had been dumping by criu HOT 7
- ERR: vdso01.c:378: Delta is too big HOT 2
- docker checkpoint create failed: Error (compel/src/lib/ptrace.c:27): suspending seccomp failed: Operation not permitted HOT 2
- Checkpointing runC container is giving error: Unable to connect a transport socket: Permission denied HOT 5
- How to make parasite code support glibc? HOT 5
- How disable plugin for nvidia gpu HOT 2
- How to use CRIU with CUDA HOT 2
- Cannot dump process that opened file in tracefs HOT 4
- Cannot checkpoint container: /usr/bin/nvidia-container-runtime did not terminate successfully: exit status 1 HOT 14
- gcc format-truncation warnings on Ubuntu 24.04 HOT 7
- Question: Lazy restore tends to restore all pages rather than those pages that really touched ? HOT 9
- Can't get reg-files.img by dump. HOT 7
- Following the `setcap` instruction raises 'fatal error: Invalid argument' HOT 6
- Can CRIU use arm based runners from Actuated? HOT 1
- CRIU package for Ubuntu 24.04 HOT 9
- "Fedora ASAN Test / build" fails with "cgroup.clone_children: No such file or directory"
- "Cirrus CI / Vagrant Fedora Rawhide based test" fails with error "setenforce: SELinux is disabled" HOT 2
- compel parasite sys_open return -1 always HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from criu.