guarantee(object->mark() == markWord::INFLATING()) failed: invariant

Doerr, Martin martin.doerr at sap.com
Fri Oct 2 10:12:24 UTC 2020


Hi Dan,

I just filed
https://bugs.openjdk.java.net/browse/JDK-8253927

I'll also look into the code, but this looks like a difficult problem.

Best regards,
Martin


> -----Original Message-----
> From: Daniel D. Daugherty <daniel.daugherty at oracle.com>
> Sent: Donnerstag, 1. Oktober 2020 22:29
> To: Doerr, Martin <martin.doerr at sap.com>; hotspot-runtime-
> dev at openjdk.java.net
> Subject: Re: guarantee(object->mark() == markWord::INFLATING()) failed:
> invariant
> 
> Hi Martin,
> 
> It's best to file a new bug and make it clear that the sighting is on
> PPC. I have not seen this failure mode in my own stress testing nor
> have I seen it in Mach5...
> 
> Dan
> 
> 
> On 10/1/20 2:52 PM, Doerr, Martin wrote:
> > Hi,
> >
> > we have seen a crash when running Spec JVM 2008 on a Power9 machine.
> > It occurred only once so I can't tell if it is a PPC64 specific or weak memory
> model specific issue.
> > Locking code has worked very solid for many years on this platform.
> >
> > #  Internal Error (synchronizer.cpp:1953), pid=18455, tid=19363
> > #  guarantee(object->mark() == markWord::INFLATING()) failed: invariant
> >
> > V  [libjvm.so+0xe463cc]  ObjectSynchronizer::inflate(Thread*, oopDesc*,
> ObjectSynchronizer::InflateCause)+0x76c
> > V  [libjvm.so+0xe467ac]  ObjectSynchronizer::exit(oopDesc*, BasicLock*,
> Thread*)+0x4c
> > V  [libjvm.so+0xda18a0]
> SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*,
> JavaThread*)+0xc0
> > J 5765 c2 sun.nio.cs.StreamEncoder.flushBuffer()V java.base at 16.0.0.1-
> internal (42 bytes) @ 0x00007fff95e1d84c
> [0x00007fff95e1d400+0x000000000000044c]
> > J 6249 c2 java.io.PrintStream.println(Ljava/lang/String;)V
> java.base at 16.0.0.1-internal (44 bytes) @ 0x00007fff95f1f1a0
> [0x00007fff95f1ea80+0x0000000000000720]
> > J 6534 c1
> spec.benchmarks.crypto.aes.Main.runEncryptDecrypt(Ljavax/crypto/SecretK
> ey;Ljava/lang/String;Ljava/lang/String;)V (93 bytes) @ 0x00007fff8e575794
> [0x00007fff8e574e00+0x0000000000000994]
> > j  spec.benchmarks.crypto.aes.Main.harnessMain()V+69
> > ...
> >
> > object->_mark points to a stack lock:
> > 0x00007ffe67dfdbc8 is pointing into the stack for thread:
> 0x00007ffeec10d5e0
> > content of stack slot 0x7ffe67dfdbc8: 0x0000000000000009
> > which belongs to the crashing thread:
> > Current thread (0x00007ffeec10d5e0):  JavaThread "BenchmarkThread
> crypto.aes 5" [_thread_in_Java, id=19363,
> stack(0x00007ffe67c00000,0x00007ffe67e00000)]
> >
> > I wonder how this can happen. Can it be related to asynchronous lock
> deflation?
> > Any ideas are welcome.
> >
> > Best regards,
> > Martin
> >



More information about the hotspot-runtime-dev mailing list