On Tue, 28 Oct 2025 00:45:53 GMT, Leonid Mesnik <[email protected]> wrote:

>> The JVMTI spec says: 
>> https://docs.oracle.com/en/java/javase/24/docs/specs/jvmti.html#VMDeath
>> `The VM death event notifies the agent of the termination of the VM. No 
>> events will occur after the VMDeath event.`
>> 
>> However, current implementation changes state and only after this start 
>> disabling events.  
>> 
>> It might be not a conformance issue, because there is no way to get thread 
>> state in the very beginning of event. 
>> The main practical issue is that currently certain events are generated when 
>> VM is becoming dead. So any function in event should check error against 
>> JVMTI_PHASE_DEAD. We can easily trigger it by running tests with enabled 
>> https://bugs.openjdk.org/browse/JDK-8352654
>> 
>> Also, it would be useful to guarantee that VM_DEATH is last event so users 
>> can safely close/destroy all supported all structures used by Jvmti agent 
>> (like RawMonitors).
>> 
>> The proposed fix is to stop events posting and wait for already executing 
>> events before vm_death is posted.
>> 
>> Currently, I haven't seen problems with this fix and  
>> https://bugs.openjdk.org/browse/JDK-8352654.
>
> Leonid Mesnik has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains 28 additional 
> commits since the last revision:
> 
>  - fixed comment
>  - renamed macros
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 8355631
>  - fixed after David's comments
>  - cleanup
>  - fixed comments
>  - fixed comments
>  - cleanup
>  - The global flag implemented
>  - the post compiled method updated
>  - ... and 18 more: https://git.openjdk.org/jdk/compare/f8c291bb...398c808a

Marked as reviewed by dholmes (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/27504#pullrequestreview-3386429964

Reply via email to