RFR: 8297286: runtime/vthread tests crashing after JDK-8296324 [v4]
Serguei Spitsyn
sspitsyn at openjdk.org
Wed Mar 22 21:58:43 UTC 2023
On Wed, 22 Mar 2023 21:36:57 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>>
>> minor cleanup in enable_virtual_threads_notify_jvmti()
>
> src/hotspot/share/prims/jvmtiExport.cpp line 389:
>
>> 387: } else {
>> 388: JvmtiVTMSTransitionDisabler::set_VTMS_notify_jvmti_events(true);
>> 389: }
>
> One thing that is a little bit confusing about the changes here is that this is where the fix for [JDK-8296324](https://bugs.openjdk.org/browse/JDK-8296324) went, but for some reason the fix for [JDK-8304303](https://bugs.openjdk.org/browse/JDK-8304303), which was pushed a couple of days ago, removed the [JDK-8296324](https://bugs.openjdk.org/browse/JDK-8296324) changes even though these two bugs don't seem related. The code added by [JDK-8296324](https://bugs.openjdk.org/browse/JDK-8296324) was:
>
> ``` if (Continuations::enabled()) {
> // Virtual threads support. There is a performance impact when VTMS transitions are enabled.
> java_lang_VirtualThread::set_notify_jvmti_events(true);
> + if (JvmtiEnv::get_phase() == JVMTI_PHASE_LIVE) {
> + ThreadInVMfromNative __tiv(JavaThread::current());
> + java_lang_VirtualThread::init_static_notify_jvmti_events();
> + }
> }
I agree, it is confusing.
This fragment was removed by JDK-8304303 because the function `java_lang_VirtualThread::init_static_notify_jvmti_events()` was being removed. It did not work correctly in the first place. It is why the JDK-8297286 was filed. Also, it was on my plan to fix JDK-8297286 soon.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13133#discussion_r1145449155
More information about the hotspot-dev
mailing list