`jdk/crac/recursiveCheckpoint/Test.java` uses pauseengine but there seems to be no reason for it to do so.
It also frequently fails internal tests, presumably because it lacks the synchronization between the processes running `test()` and `exec()` which pauseengine requires. The errors we see are:
```
stderr:
Jun 19, 2025 12:16:39 PM jdk.internal.crac.LoggerContainer info
INFO: Starting checkpoint
Jun 19, 2025 12:16:39 PM jdk.internal.crac.LoggerContainer info
INFO: Starting checkpoint
cannot read pid
stdout:
[0.280s][info][crac] Checkpoint ...
[0.830s][info][crac] Checkpoint ...
```
and
```
INFO: Starting checkpoint
crexec: unexpected EOF or error in cr/cpufeatures after 0 parsed bytes
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
stdout:
[0.596s][info][crac] Checkpoint ...
[0.965s][info][crac] Checkpoint ...
[0.063s][error][crac] Image cr has incompatible CPU features in its user data
[0.063s][error][crac] Failed to restore cr
```
It is proposed to make the test use simengine instead. Since the test has been running on all platforms, including MacOS and Windows where pauseengine is basically the same as simengine, this should be trivial.
It also frequently fails internal tests, presumably because it lacks the synchronization between the processes running `test()` and `exec()` which pauseengine requires. The errors we see are:
```
stderr:
Jun 19, 2025 12:16:39 PM jdk.internal.crac.LoggerContainer info
INFO: Starting checkpoint
Jun 19, 2025 12:16:39 PM jdk.internal.crac.LoggerContainer info
INFO: Starting checkpoint
cannot read pid
stdout:
[0.280s][info][crac] Checkpoint ...
[0.830s][info][crac] Checkpoint ...
```
and
```
INFO: Starting checkpoint
crexec: unexpected EOF or error in cr/cpufeatures after 0 parsed bytes
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
stdout:
[0.596s][info][crac] Checkpoint ...
[0.965s][info][crac] Checkpoint ...
[0.063s][error][crac] Image cr has incompatible CPU features in its user data
[0.063s][error][crac] Failed to restore cr
```
It is proposed to make the test use simengine instead. Since the test has been running on all platforms, including MacOS and Windows where pauseengine is basically the same as simengine, this should be trivial.
- links to
-
Review(crac) openjdk/crac/240