RFR: 8316682: serviceability/jvmti/vthread/SelfSuspendDisablerTest timed out [v6]

Patricio Chilano Mateo pchilanomate at openjdk.org
Mon May 5 15:10:52 UTC 2025


On Fri, 2 May 2025 20:53:30 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> This fixes the issue with lack of synchronization between JVMTI thread suspend and resume functions in a self-suspend case. More detailed fix description is in the first PR comment.
>> 
>> Testing: Ran mach5 tiers 1-6.
>
> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review: patch from Patricio with alternate approach

Thanks for adopting the suggestion Serguei!

src/hotspot/share/prims/jvmtiEnv.cpp line 1124:

> 1122:       oop carrier_thread = java_lang_VirtualThread::carrier_thread(thread_oop);
> 1123:       java_thread = carrier_thread == nullptr ? nullptr : java_lang_Thread::thread(carrier_thread);
> 1124:     }      

Nit: extra spaces at the end. There are a couple of other instances of this in this file shown by jcheck.

src/hotspot/share/prims/jvmtiEnvBase.cpp line 1798:

> 1796:       return JVMTI_ERROR_THREAD_SUSPENDED;
> 1797:     }
> 1798:     if (!java_thread->java_suspend(single_suspend)) {

We could use `is_virtual && single_suspend` (same in resume) and change `_handshakee->is_vthread_mounted()` to be an assert in `HandshakeState::set_suspended()`.

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

PR Review: https://git.openjdk.org/jdk/pull/24269#pullrequestreview-2815125142
PR Review Comment: https://git.openjdk.org/jdk/pull/24269#discussion_r2073621313
PR Review Comment: https://git.openjdk.org/jdk/pull/24269#discussion_r2073634025


More information about the serviceability-dev mailing list