RFR: 8330146: assert(!_thread->is_in_any_VTMS_transition()) failed

Kevin Walls kevinw at openjdk.org
Thu May 9 13:46:54 UTC 2024


On Thu, 2 May 2024 10:07:35 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

> Any event posting code except CFLH, ClassPrepare and ClassLoad  events has a conditional return in case if the event is posted during a VTMS transition. The CFLH, ClassPrepare and ClassLoad event posting code has just an assert instead. The ClassPrepare and ClassLoad events also have a conditional return in a case of temporary VTMS transition.
> This update is to align the CFLH, ClassPrepare and ClassLoad events with all other events in this area.
> 
> Testing:
>  - TBD: submit mach5 tiers 1-6

Looks good to me.

post_class_file_load_hook during VirtualThread$VThreadContinuation.onPinned, and because it's the first onPinned call it causes classloading, so just avoid that circular problem (these may not be the class loading events that most people are looking for most of the time).

I wonder if this change is needed only until "jdk.tracePinnedThreads" is removed?  Maybe this becomes unnecessary if TRACE_PINNING_MODE is gone, as maybe there won't be any possible classloading.  Just a thought, no need for any more in this change.

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

Marked as reviewed by kevinw (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19054#pullrequestreview-2047999334


More information about the serviceability-dev mailing list