RFR: 8329757: Crash with fatal error: DEBUG MESSAGE: Fast Unlock lock on stack [v4]
Vladimir Kozlov
kvn at openjdk.org
Thu Apr 11 19:21:42 UTC 2024
On Thu, 11 Apr 2024 18:22:08 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:
>> `Deoptimization::relock_objects` may reorder locks within in the `LockStack` which are added inside the same vframe. This can be handled by the interpreter but if OSR has occurred C2 may observe this invalid order in the `LockStack`, which breaks its assumption leading to incorrect behaviour.
>>
>> This patch functionally makes sure that the LockStack is always consistent by always inflating eliminated locks when `Deoptimization::relock_objects` is called.
>>
>> It also adds verification code which checks that the LockStack is consistent with the lock order observed inside the deoptimized vframes.
>>
>> Note: for leaf deoptimizations we have enough information to recreate a correct top of the LockStack with minimal inflations, however that should be a separate RFE. This only inflates eliminated locks so the worth of solving that may be minimal or even detrimental.
>>
>> Tests still running. Tier 1-7 done.
>
> Axel Boldt-Christmas has updated the pull request incrementally with one additional commit since the last revision:
>
> Change to ASSERT
Good..
-------------
Marked as reviewed by kvn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/18715#pullrequestreview-1995090696
More information about the hotspot-dev
mailing list