-
Notifications
You must be signed in to change notification settings - Fork 610
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
Need help for restore failed issue #2552
Comments
Your CRIU version is too old (as mentioned in the other ticket) to work with restartable sequences. Either update CRIU or you can set an environment variable to disable restartable sequences in glibc (as mentioned in the other ticket). |
Thank you for your response and suggestions. I have upgraded CRIU to versions 3.17 and 4.0, and attempted to run the simple loop program (from (https://criu.org/Simple_loop) to verify if CRIU is functioning correctly. However, I encountered an issue during the dump process, which resulted in a segmentation fault. In CRIU-4.0 Dump log ends in00.045690) Add cgroup ns 8 pid 7153 Could you please suggested how it can make success? |
As described in #1696 you need at least Linux Kernel version 5.13 for restartable sequences to work with CRIU. According to your log files you have 5.4.282-staros-v3-scale-64. With the glibc version you are using restartable sequences are always used and you need at least kernel 5.13 and CRIU 3.17. You can use a newer kernel, an older glibc or export the environment variable I mentioned earlier. |
Thanks for your inputs.. Can you tell the combinations of criu glibc and kernel which can be tried to make it work? |
If glibc >= 2.35 you need at least kernel 5.13 and CRIU 3.17. |
Thanks adrianreber. I understand that to work everything proper we need an upgraded kernel too. |
No |
Need some more help here. |
I guess you are setting the environment variable wrong. Can you post the exact steps you are doing. So that I can reproduce it. |
We have exported environment variable in our application as export GLIBC_TUNABLES=glibc.pthread.rseq=0 |
Basically unknown signal relates to "a standard error message that indicates a command could not be found or executed" |
Hi adrianreber, |
Hi, we are trying to upgrade linux kernel. But it is having lot of dependencies with other package and it takes time. Can you please point out which area of linux kernel is depending on latest criu? |
As described in #1696 you need torvalds/linux@90f093f RHEL8 for example has that patch backported on a 4.18 kernel. But the problem you have is not really understood. I am at this point just assuming it is related to restartable sequences because it makes sense with what you described. It still could be something else. I would recommend that you try it, for testing, on an up to date Linux distribution which is known to work. If it works there you know it is your environment. |
We are currently using CRIU version 3.15 for checkpoint and restore operations in our Linux application.
The environment consists of Glibc 2.40 and GCC 14.2.0.
While the checkpoint (dumping) process is successful, we encounter an issue during restore, where the process fails with the following error:
(00.064198) pie: 5495: - skip pagemap (00.064199) pie: 5495: - skip pagemap
(00.064201) pie: 5495: `- skip pagemap
(00.064297) Error (criu/cr-restore.c:1573): 5495 killed by signal 127: Unknown signal 127
(00.064335) Error (criu/cr-restore.c:2498): Restoring FAILED.
Our query is whether there could be any compatibility issues between CRIU 3.15 and the newer versions of Glibc (2.40) and GCC (14.2.0). Specifically, we would like to know:
Under what circumstances can CRIU throw an "unknown signal 127" during a restore?
How can we debug this issue further to pinpoint the cause?
We appreciate any insights or suggestions to help resolve this issue.
CRIU logs and information:
Restore.log
CRIU full dump/restore logs:
[Dump.log](https://github.com/user-attachments/files/18176588/Dump.log)Output of `criu --version`:
criu --version
Version: 3.15
Output of `criu check --all`:
criu check --all
Warn (criu/cr-check.c:859): Dirty tracking is OFF. Memory snapshot will not work.
Warn (criu/cr-check.c:1194): Loginuid restore is OFF.
Error (criu/cr-check.c:1216): UFFD is not supported
Error (criu/cr-check.c:1216): UFFD is not supported
Warn (criu/cr-check.c:1239): clone3() with set_tid not supported
Error (criu/cr-check.c:1281): Time namespaces are not supported
Looks good but some kernel features are missing
which, depending on your process tree, may cause
dump or restore failure.
Additional environment details:
The environment consists of Glibc 2.40 and GCC 14.2.0. Recently upgraded from Glibc 2.23 , criu was working with this glibc
The text was updated successfully, but these errors were encountered: