RFR: 8345493: JFR: JVM.flush hangs intermittently [v2]

Erik Gahlin egahlin at openjdk.org
Wed Jan 15 14:43:38 UTC 2025


On Wed, 15 Jan 2025 13:04:59 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> Greetings,
>> 
>> This is the fix for JDK-8345493.
>> 
>> Problem Summary:
>> 1. Threads calling JVM.begin_recording() and JVM.end_recording() only hold the PlatformRecorder lock (not the MetadataRepository lock)
>> 2. The periodic flush thread only holds the MetadataRepository lock, not the PlatformRecorder lock.
>> 
>> Problem solution:
>> The periodic flush thread must acquire both the PlatformRecorder lock and the MetadataRepository lock (in that order). 
>> 
>> Testing: jdk_jfr, stress testing.
>> 
>> Thanks
>> Markus
>
> Markus Grönlund has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - revert notify_all()
>  - FlushTask to acquire PlatformRecorder and MetadataRepository locks

Marked as reviewed by egahlin (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/23105#pullrequestreview-2552956424


More information about the hotspot-jfr-dev mailing list