On Fri, 10 Apr 2026 18:13:58 GMT, Leonid Mesnik <[email protected]> wrote:

>> This is a bug in recompute enabled for thread filtered events. It doesn't 
>> check current jvmti phase.
>> 
>> Usually it works fine because most of thread filtered events are not "truly" 
>> enabled before live phase. 
>> So `JvmtiEventControllerPrivate::recompute_enabled()` doesn't create state 
>> for them and thus doesn't call `recompute_thread_enabled` and never try to 
>> enable singestep event (and other thread filtered events).
>> 
>> 
>> The issue happens when SingleStep event is enabled before live phase and 
>> also one of thread filtered and early events are enabled before live phase.
>> 
>> I updated test to trigger this problem by itself.  Also I simplified it to 
>> fail earlier and fail after VM Death.
>> 
>> Aslo, verified with reproducer from 
>> https://bugs.openjdk.org/browse/JDK-8381721
>> by running test with async-profiler.
>> 
>> Testing ther svc testing from tier5.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Leonid Mesnik has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - space back
>  - removed jlong -> julong

Marked as reviewed by sspitsyn (Reviewer).

test/hotspot/jtreg/serviceability/jvmti/events/SingleStep/singlestep02/singlestep02.java
 line 38:

> 36:  *
> 37:  *     The ClassLoad event is required to trigger creation of jvmti
> 38:  *     state in the START phase. This is thread filtered event that

Nit: %s/jvmti state/jvmti thread state/

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

PR Review: https://git.openjdk.org/jdk/pull/30617#pullrequestreview-4092566701
PR Review Comment: https://git.openjdk.org/jdk/pull/30617#discussion_r3066816829

Reply via email to