RFR: 8297286: runtime/vthread tests crashing after JDK-8296324 [v2]
Serguei Spitsyn
sspitsyn at openjdk.org
Wed Nov 23 10:14:23 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.
Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
remove caching if notifyJvmtiEvents in yieldContinuation
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/11304/files
- new: https://git.openjdk.org/jdk/pull/11304/files/c0d2f0ef..6608b1a6
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=11304&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=11304&range=00-01
Stats: 4 lines in 1 file changed: 0 ins; 2 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 core-libs-dev
mailing list