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