-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Fix CRaC potential hangup after restoring #34372
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
Conversation
Signed-off-by: Yasumasa Suenaga <[email protected]>
5136e9e to
13fbbd1
Compare
|
Could you please attach or share a link to the repository of your reproducer? |
Reproducer is here: https://github.com/YaSuenag/checkpointer/tree/main/example/springboot-cli This is an example of checkpointer, library to implement CRaC event hooks and coordinate with CRIU events. This is not CRaC so event handling might be faster than CRaC, and it might surface race conditions which couldn't be see on CRaC. |
|
PING: do you have any comments? I can fix if needs, and I'm happy if I can contribute this. |
|
Sorry for the delay, I missed the related notification and was deep on other higher priority topics. |
See spring-projectsgh-34372 Signed-off-by: Yasumasa Suenaga <[email protected]>
See spring-projectsgh-34372 Signed-off-by: Yasumasa Suenaga <[email protected]>
|
@YaSuenag Merged, thanks for your contribution. |
I run following
ApplicationRunnerSpring Boot app and I obtained checkpoint by CRIU. The app did not finish after restoring.I obtained thread dump, then I got following stack trace. It shows
beforeCheckpointCRaC handler waits signal inCyclicBarrier.I investigated
CracResourceAdapter,prevent-shutdownthread might through the secondawaitPreventShutdownBarrier()call if that thread runs beforeawaitPreventShutdownBarrier()atbeforeCheckpoint().We need to separate barriers for
beforeCheckpoint/afterRestoreto work as expected.