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

CRIU restore fails due to segmentation fault with libc6 2.36-9+deb12u8 #2477

Open
igmogo-ku opened this issue Sep 12, 2024 · 7 comments
Open

Comments

@igmogo-ku
Copy link

igmogo-ku commented Sep 12, 2024

Description

After the glibc package in Debian Bookworm was updated to 2.36-9+deb12u8, criu restore fails with this error message:
(00.012523) Error (criu/cr-restore.c:1499): 14598 killed by signal 11: Segmentation fault

However, with glibc 2.36-9+deb12u7 it works as expected.

Steps to reproduce the issue:

  1. Follow the steps indicated in https://criu.org/Simple_loop on Debian Bookworm. Make sure the glibc version is 2.36-9+deb12u8. (This is the latest version at the time of writing).

Describe the results you received:

  • Dump works
  • Restore fails

Describe the results you expected:

  • The restore command succeeds

Additional information you deem important (e.g. issue happens only occasionally):

This problem also occurs when dumping and then trying to restore a small test program written in c. The logs and information in this post are taken from a WSL Debian Bookworm installation, but I observed the same behavior in a virtual machine (x86_64) and a bare metal installation (arm64).

CRIU logs and information:

dump.log
restore.log

CRIU full dump/restore logs:

Output of `criu --version`:

Version: 3.17.1

Output of `criu check --all`:

Warn  (criu/cr-check.c:813): Dirty tracking is OFF. Memory snapshot will not work.
Looks good but some kernel features are missing
which, depending on your process tree, may cause
dump or restore failure

Additional environment details:

@igmogo-ku igmogo-ku changed the title CRIU restore fails due to segmentation fault CRIU restore fails due to segmentation fault with libc6 2.36-9+deb12u8 Sep 12, 2024
@adrianreber
Copy link
Member

This is probably an error in the Debian CRIU package. It might be related to restartable sequences and some internal glibc structure that was changed without rebuilding CRIU. Can you try to rebuild CRIU on your system and if that works submit a bug in Debian.

@igmogo-ku
Copy link
Author

Hi,

thanks for your response.

I build the package following this tutorial. Unfortunately the problem persists.

Regards

@adrianreber
Copy link
Member

I just tried CRIU in a debian bookworm container and can confirm that it does not work.

Rebuilding CRIU from git fixes this error for me.

Please report this error at Debian. They have to rebuild the package or upgrade to a newer version.

@adrianreber
Copy link
Member

You can also use the binary packages we create. Please see: https://criu.org/Packages

The Debian 12 package also works in my test container.

@carnil
Copy link
Contributor

carnil commented Sep 13, 2024

Thanks, I will handle it downstream with https://bugs.debian.org/1081683

Note, criu for Debian in unstable is currently in a similar bad shape. I'm trying to get some traction in helping building the python part, but was so for not successful.

I will see how your own packages are built to maybe get the correct indication.

@adrianreber
Copy link
Member

Let us know if you need any help.

@rst0git
Copy link
Member

rst0git commented Sep 14, 2024

@carnil The following repository contains the files we use to build a deb packages:

https://github.com/rst0git/criu-deb-packages/tree/open-build-service/debian

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

4 participants