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

Chris Plummer cjplummer at openjdk.org
Thu May 2 22:42:52 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

I looked at other places where the following is already in place:

`return; // no events should be posted if thread is in any VTMS transition`

I can understand the rationale for not sending events in those cases (like breakpoint, singlestep, and methodentry). However, loss ClassPrepare and ClassLoad events seems a bit more significant for profilers that might be trying to accurately track all class loading. It seems maybe we should instead be trying to avoid these events by preloading the classes as was suggested as an option in the CR.

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

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


More information about the serviceability-dev mailing list