RFR: 8297286: runtime/vthread tests crashing after JDK-8296324
Serguei Spitsyn
sspitsyn at openjdk.org
Wed Mar 22 02:20:40 UTC 2023
The fix is to enable support for late binding JVMTI agents.
The fix includes:
- New function `JvmtiEnvBase::enable_virtual_threads_notify_jvmti()` which does enabling JVMTI VTMS transition notifications in case of agent loaded into running VM. This function executes a VM operation counting VTMS transition bits in all `JavaThread`'s to correctly set the static counter `_VTMS_transition_count` needed for VTMS transition protocol.
- New function `JvmtiEnvBase::disable_virtual_threads_notify_jvmti()` which is needed for testing. It is used by the `WhiteBox` API.
- New WhiteBox function `WB_SetVirtualThreadsNotifyJvmtiMode(JNIEnv* env, jobject wb, jboolean enable)` needed for testing of this update.
- New regression test: `serviceability/jvmti/vthread/ToggleNotifyJvmtiTest`
Testing:
- New test: `serviceability/jvmti/vthread/ToggleNotifyJvmtiTest`
- The originally failed tests are expected to pass now:
`runtime/vthread/RedefineClass.java`
`runtime/vthread/TestObjectAllocationSampleEvent.java`
- In progress: Run the tiers 1-6 to make sure there are no regression.
-------------
Commit messages:
- cleanup in vmOperation.hpp
- restored one incorrectly removed function
- removed temporary debugging changes
- 8297286: runtime/vthread tests crashing after JDK-8296324
Changes: https://git.openjdk.org/jdk/pull/13133/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13133&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8297286
Stats: 380 lines in 9 files changed: 377 ins; 2 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/13133.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13133/head:pull/13133
PR: https://git.openjdk.org/jdk/pull/13133
More information about the serviceability-dev
mailing list