Integrated: 8346727: JvmtiVTMSTransitionDisabler deadlock

Serguei Spitsyn sspitsyn at openjdk.org
Sat Jan 11 07:10:46 UTC 2025


On Thu, 9 Jan 2025 05:03:33 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

> This is a fix of one more deadlock issue related to `interruptLock` critical sections. When the `interruptLock` is hold by the target virtual thread it is unsafe to suspend or post JVMTI events. This update is to ignore the JVMTI events when the `interruptLock` is hold. It is additionally to the cases when the target JavaThread is in a `VTMS` transition. It is based on the existing mechanism disallowing JVMTI suspends while the `interruptLock` is hold. In order to support this the target JavaThread has the `_is_disable_suspend` bit.
> 
> Testing:
> - Ran mach5 tiers 1-6
> - There is no regression test for this issue as it is not hard to construct one. Originally, the issue was reported by JGroups which is using the `Async` profiler.

This pull request has now been integrated.

Changeset: 31452788
Author:    Serguei Spitsyn <sspitsyn at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/3145278847428ad3a855a3e2c605b77f74ebe113
Stats:     57 lines in 2 files changed: 5 ins; 2 del; 50 mod

8346727: JvmtiVTMSTransitionDisabler deadlock

Reviewed-by: cjplummer, lmesnik

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

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


More information about the hotspot-dev mailing list