Integrated: 8373944: ObjectMonitor::ExitOnSuspend can call java_lang_VirtualThread::set_onWaitingList() while in safepoint

Patricio Chilano Mateo pchilanomate at openjdk.org
Mon Feb 23 16:03:41 UTC 2026


On Thu, 19 Feb 2026 16:36:01 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: 4b99aef1
Author:    Patricio Chilano Mateo <pchilanomate at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/4b99aef1cad05057463edbb248a3adc9b45d9a87
Stats:     162 lines in 2 files changed: 160 ins; 2 del; 0 mod

8373944: ObjectMonitor::ExitOnSuspend can call java_lang_VirtualThread::set_onWaitingList() while in safepoint

Reviewed-by: dholmes, fbredberg

-------------

PR: https://git.openjdk.org/jdk/pull/29822


More information about the serviceability-dev mailing list