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