[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: 8297286: runtime/vthread tests crashing after JDK-8296324 [v2]
From:       Serguei Spitsyn <sspitsyn () openjdk ! org>
Date:       2022-12-22 20:18:59
Message-ID: 2z4gV3aDtKkV50pWAs-mLvlmITcV3v7rlg0WJ17Lajg=.2f7ef31e-42bf-48f6-bceb-e70c9136992c () github ! com
[Download RAW message or body]

On Wed, 23 Nov 2022 10:14:23 GMT, Serguei Spitsyn <sspitsyn@openjdk.org> wrote:

> > 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

This is artificial comment to keep the PR alive.

-------------

PR: https://git.openjdk.org/jdk/pull/11304


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic