On Wed, 18 Jan 2023 14:57:33 GMT, Robbin Ehn <r...@openjdk.org> wrote:
> Here are some tests that seems provide some reproducability (mac/linux > aarch64): runtime/handshake/HandshakeDirectTest.java > vmTestbase/gc/gctests/ObjectMonitorCleanup/ObjectMonitorCleanup.java (crashes > in > AccessInternal::PostRuntimeDispatch<CardTableBarrierSet::AccessBarrier<594020ul, > CardTableBarrierSet>, (AccessInternal::BarrierType)2, > 594020ul>::oop_access_barrier(void*)+0x1c) > vmTestbase/nsk/jdi/stress/serial/heapwalking00X > > (options don't seem to matter) > > Well of course you need to turn it on. I was running with this applied: > > ``` > diff --git a/src/hotspot/share/runtime/globals.hpp > b/src/hotspot/share/runtime/globals.hpp > index f07a37b3d9f..c01c4f450a6 100644 > --- a/src/hotspot/share/runtime/globals.hpp > +++ b/src/hotspot/share/runtime/globals.hpp > @@ -1986 +1986 @@ const int ObjectAlignmentInBytes = 8; > - product(bool, UseFastLocking, false, EXPERIMENTAL, \ > + product(bool, UseFastLocking, true, EXPERIMENTAL, \ > ``` Thanks, Robbin! Turns out that this bug has been caused by one of the most recent commits: I used tnbz to branch to the exit of fast_unlock, but this doesn't set the ZF properly. I need to use regular tst & br instead. I pushed a fix, together with a number of minor improvements (avoid some conditional branches). Could you re-test? Thank you! Roman ------------- PR: https://git.openjdk.org/jdk/pull/10907