Crash was observed several times when running Spec JVM 2008 in crypto.aes on a Power9 machine. JVM was built on 2020-09-28 and 2020-11-12.
Unclear if only PPC64 or weak memory model platforms are affected or if it is a general bug.
# Internal Error (synchronizer.cpp:1373), pid=6583, tid=7553
# guarantee(object->mark() == markWord::INFLATING()) failed: invariant
#
# JRE version: OpenJDK Runtime Environment (16.0.0.1) (build 16.0.0.1-internal+0-adhoc.openjdk.jdk)
# Java VM: OpenJDK 64-Bit Server VM (16.0.0.1-internal+0-adhoc.openjdk.jdk, mixed mode, tiered, compressed oops, g1 gc, linux-ppc64le)
# Problematic frame:
# V [libjvm.so+0xe5279c] ObjectSynchronizer::inflate(Thread*, oopDesc*, ObjectSynchronizer::InflateCause)+0x7dc
V [libjvm.so+0xe5279c] ObjectSynchronizer::inflate(Thread*, oopDesc*, ObjectSynchronizer::InflateCause)+0x7dc
V [libjvm.so+0xe5283c] ObjectSynchronizer::exit(oopDesc*, BasicLock*, Thread*)+0x4c
V [libjvm.so+0xdad3b0] SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*, JavaThread*)+0xc0
J 6247 c2 java.io.PrintStream.println(Ljava/lang/String;)V java.base@16.0.0.1-internal (44 bytes) @ 0x00007fff9dc7fc34 [0x00007fff9dc7f200+0x0000000000000a34]
J 6521 c1 spec.benchmarks.crypto.aes.Main.runEncryptDecrypt(Ljavax/crypto/SecretKey;Ljava/lang/String;Ljava/lang/String;)V (93 bytes) @ 0x00007fff962def94 [0x00007fff962de600+0x0000000000000994]
J 6618 c1 spec.benchmarks.crypto.aes.Main.harnessMain()V (97 bytes) @ 0x00007fff95e86648 [0x00007fff95e86380+0x00000000000002c8]
J 5512 c1 spec.harness.BenchmarkThread.runLoop(Lspec/harness/results/IterationResult;)Lspec/harness/results/LoopResult; (243 bytes) @ 0x00007fff966a5498 [0x00007fff966a4800+0x0000000000000c98]
j spec.harness.BenchmarkThread.executeIteration()Z+74
j spec.harness.BenchmarkThread.run()V+1
...
From gdb:
#6 0x00007fffb3f927a4 in ObjectSynchronizer::inflate (self=0x7ffef00efba0, object=0xff802c08, cause=ObjectSynchronizer::inflate_cause_vm_internal) at ./src/hotspot/share/runtime/synchronizer.cpp:1373
m = 0x7ffe5c004960
r30=0x00007ffe5c004960 points into unknown readable memory: 0x00007fff95660000 | 00 00 66 95 ff 7f 00 00
mark = {_value = 0x7ffe9d7ddba8
r8,r17=0x00007ffe9d7ddba8 is pointing into the stack for thread: 0x00007ffef00efba0
0x7ffe9d7ddba8: 0x00007fff95660000
#9 SharedRuntime::complete_monitor_unlocking_C (obj=0xff802c08, lock=0x7ffe9d7ddc70, thread=<optimized out>) at ./src/hotspot/share/runtime/sharedRuntime.cpp:2129
lock: {_displaced_header = {_value = 9
Unclear if only PPC64 or weak memory model platforms are affected or if it is a general bug.
# Internal Error (synchronizer.cpp:1373), pid=6583, tid=7553
# guarantee(object->mark() == markWord::INFLATING()) failed: invariant
#
# JRE version: OpenJDK Runtime Environment (16.0.0.1) (build 16.0.0.1-internal+0-adhoc.openjdk.jdk)
# Java VM: OpenJDK 64-Bit Server VM (16.0.0.1-internal+0-adhoc.openjdk.jdk, mixed mode, tiered, compressed oops, g1 gc, linux-ppc64le)
# Problematic frame:
# V [libjvm.so+0xe5279c] ObjectSynchronizer::inflate(Thread*, oopDesc*, ObjectSynchronizer::InflateCause)+0x7dc
V [libjvm.so+0xe5279c] ObjectSynchronizer::inflate(Thread*, oopDesc*, ObjectSynchronizer::InflateCause)+0x7dc
V [libjvm.so+0xe5283c] ObjectSynchronizer::exit(oopDesc*, BasicLock*, Thread*)+0x4c
V [libjvm.so+0xdad3b0] SharedRuntime::complete_monitor_unlocking_C(oopDesc*, BasicLock*, JavaThread*)+0xc0
J 6247 c2 java.io.PrintStream.println(Ljava/lang/String;)V java.base@16.0.0.1-internal (44 bytes) @ 0x00007fff9dc7fc34 [0x00007fff9dc7f200+0x0000000000000a34]
J 6521 c1 spec.benchmarks.crypto.aes.Main.runEncryptDecrypt(Ljavax/crypto/SecretKey;Ljava/lang/String;Ljava/lang/String;)V (93 bytes) @ 0x00007fff962def94 [0x00007fff962de600+0x0000000000000994]
J 6618 c1 spec.benchmarks.crypto.aes.Main.harnessMain()V (97 bytes) @ 0x00007fff95e86648 [0x00007fff95e86380+0x00000000000002c8]
J 5512 c1 spec.harness.BenchmarkThread.runLoop(Lspec/harness/results/IterationResult;)Lspec/harness/results/LoopResult; (243 bytes) @ 0x00007fff966a5498 [0x00007fff966a4800+0x0000000000000c98]
j spec.harness.BenchmarkThread.executeIteration()Z+74
j spec.harness.BenchmarkThread.run()V+1
...
From gdb:
#6 0x00007fffb3f927a4 in ObjectSynchronizer::inflate (self=0x7ffef00efba0, object=0xff802c08, cause=ObjectSynchronizer::inflate_cause_vm_internal) at ./src/hotspot/share/runtime/synchronizer.cpp:1373
m = 0x7ffe5c004960
r30=0x00007ffe5c004960 points into unknown readable memory: 0x00007fff95660000 | 00 00 66 95 ff 7f 00 00
mark = {_value = 0x7ffe9d7ddba8
r8,r17=0x00007ffe9d7ddba8 is pointing into the stack for thread: 0x00007ffef00efba0
0x7ffe9d7ddba8: 0x00007fff95660000
#9 SharedRuntime::complete_monitor_unlocking_C (obj=0xff802c08, lock=0x7ffe9d7ddc70, thread=<optimized out>) at ./src/hotspot/share/runtime/sharedRuntime.cpp:2129
lock: {_displaced_header = {_value = 9
- duplicates
-
JDK-8261522 [PPC64] AES intrinsics write beyond the destination array
- Resolved
- relates to
-
JDK-8152172 PPC64: Support AES intrinsics
- Resolved