-
Notifications
You must be signed in to change notification settings - Fork 38.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
CRaC restore fails with ClassNotFoundException on Jar path #33226
Comments
If you are using containers, be aware that configuring capabilities may be required, see https://github.com/sdeleuze/spring-boot-crac-demo/blob/main/restore.sh for an example. Also you may want to ensure the path Is |
I am not in a container environment. I am on a Linux VM on a VMWare Host. Could capabilities still be an issue here? I am currently on a 4.12 Linux kernel, which does not have the CHECKPOINT_RESTORE capability yet. It seems like on older Linux kernels the capability SYS_ADMIN is the one required for checkpoint/restore. I am using a non-root user. However, as far as I understood CRIU is nevertheless running as root, since one thing I had to let our sysadmins do was this here:
Without that it didn't get past the CRIU part of the restore. But according to my restore.log the CRIU part of the restore seems to be working now. Yes, the file's location is the same during the creation of the checkpoint and during the restore. |
Looks like more a JDK/CRaC level issue so not sure what we can do about it on Framework side, do you agree? |
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed. |
I guess you're right. In the end I've decided to abandon my plans to use CRaC. It doesn't seem mature enough to me. |
Hi @shmyer , CRaC support in frameworks could really deserve some extra work. The capabilities issue is really irrelevant; it seems that you are restoring with |
Affects: 6.1.10
JDK: zulu21.34.19-ca-crac-jdk21.0.3-linux_x64
Running on a Linux VM
I am trying to use CRaC with a Spring Boot app. I have come across many issues so far, including logback appenders causing
jdk.crac.impl.CheckpointOpenFileException
upon checkpoint creation (spring-projects/spring-boot#38548) and the Eureka Discovery Client causing an open connection because of fetching the registry before checkpoint. I was able to workaround those issues so far and I made the checkpointing work.Now I am stuck on the restore. As you can see in the attached log, the restore code is trying to load my Spring Boot Jar as a class and of course it can't find that. I don't quite understand why it does that.
I've also attached the CRIU dump and restore logs below, they seem fine to me, but I might be wrong.
Spring Boot Log:
CRIU Logs:
dump4.log
restore.log
The text was updated successfully, but these errors were encountered: