RFR: 8297286: runtime/vthread tests crashing after JDK-8296324
Serguei Spitsyn
sspitsyn at openjdk.org
Wed Nov 23 00:32:53 UTC 2022
This problem has two sides.
One is that the `VirtualThread::run() `cashes the field `notifyJvmtiEvents` value.
It caused the native method `notifyJvmtiUnmountBegin()` not called after the field `notifyJvmtiEvents`
value has been set to `true` when an agent library is loaded into running VM.
The fix is to get rid of this cashing.
Another is that enabling `notifyJvmtiEvents` notifications needs a synchronization.
Otherwise, a VTMS transition start can be missed which will cause some asserts to fire.
The fix is to use a JvmtiVTMSTransitionDisabler helper for sync.
Testing:
The originally failed tests are passed 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:
- 8297286: runtime/vthread tests crashing after JDK-8296324
Changes: https://git.openjdk.org/jdk/pull/11304/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11304&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8297286
Stats: 6 lines in 3 files changed: 1 ins; 3 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/11304.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11304/head:pull/11304
PR: https://git.openjdk.org/jdk/pull/11304
More information about the serviceability-dev
mailing list