Please review the following patch. `ExitOnSuspend::operator()` may run while a safepoint is in progress, which can lead to crashes because releasing the monitor involves touching oops if the successor is a virtual thread. The proposed fix is to process pending operations before releasing the monitor. I added a new test that reliably reproduces the issue with the extra `assert_not_at_safepoint()` added in this patch, and verified the issue is now fixed.
Thanks, Patricio ------------- Commit messages: - v1 Changes: https://git.openjdk.org/jdk/pull/29822/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29822&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8373944 Stats: 162 lines in 2 files changed: 160 ins; 2 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/29822.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29822/head:pull/29822 PR: https://git.openjdk.org/jdk/pull/29822
