-
Bug
-
Resolution: Fixed
-
P3
-
22
-
b17
During testing JDK-8140326 / PR#14220 Runthese30m failed with
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S14089/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ecc844bd-9306-47c3-9126-67f95d362502/runs/54847e98-aa9c-4094-8db6-332b8cd97bde/workspace/open/src/hotspot/share/classfile/loaderConstraints.cpp:474), pid=506426, tid=506437
# guarantee(entry != nullptr) failed: klass should be in the placeholders
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-internal-2023-06-22-1449194.thomas.schatzl.jdk)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-internal-2023-06-22-1449194.thomas.schatzl.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1229348] LoaderConstraintTable::verify()+0x1d8
--------------- T H R E A D ---------------
Current thread (0x00007f51ec20fa70): VMThread "VM Thread" [id=506437, stack(0x00007f51c4b27000,0x00007f51c4c27000) (1024K)]
Stack: [0x00007f51c4b27000,0x00007f51c4c27000], sp=0x00007f51c4c24f80, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1229348] LoaderConstraintTable::verify()+0x1d8 (loaderConstraints.cpp:474)
V [libjvm.so+0x173ba85] SystemDictionary::verify()+0x25 (systemDictionary.cpp:2399)
V [libjvm.so+0x17e06bf] Universe::verify(VerifyOption, char const*)+0x66f (universe.cpp:1157)
V [libjvm.so+0xc60285] G1ConcurrentMark::verify_during_pause(G1HeapVerifier::G1VerifyType, G1ConcurrentMark::VerifyLocation)+0xf5 (g1ConcurrentMark.cpp:1091)
V [libjvm.so+0xc651e9] G1ConcurrentMark::remark()+0x89 (g1ConcurrentMark.cpp:1255)
V [libjvm.so+0xd2a2c6] VM_G1PauseConcurrent::doit()+0x1c6 (g1VMOperations.cpp:173)
V [libjvm.so+0x1872219] VM_Operation::evaluate()+0x139 (vmOperations.cpp:71)
V [libjvm.so+0x189285b] VMThread::evaluate_operation(VM_Operation*)+0x10b (vmThread.cpp:281)
V [libjvm.so+0x18933cf] VMThread::inner_execute(VM_Operation*)+0x3bf (vmThread.cpp:435)
V [libjvm.so+0x18935b4] VMThread::loop()+0x84 (vmThread.cpp:502)
V [libjvm.so+0x18936b7] VMThread::run()+0x87 (vmThread.cpp:175)
V [libjvm.so+0x1793dfa] Thread::call_run()+0xba (thread.cpp:217)
V [libjvm.so+0x1491adc] thread_native_entry(Thread*)+0x11c (os_linux.cpp:778)
Registers:
RAX=0x00007f51f50e3000, RBX=0x00007f50900b7e70, RCX=0x00007f51f48f6b88, RDX=0x00007f51f48aad88
RSP=0x00007f51c4c24f80, RBP=0x00007f51c4c24fe0, RSI=0x00000000000001da, RDI=0x00007f51f48f6a18
R8 =0x00000000000001ce, R9 =0x00007f50900b3898, R10=0x00007f5090050750, R11=0x0000000000000000
R12=0x00007f51f4ddb604, R13=0x0000000000000001, R14=0x00007f51100fc8d0, R15=0x0000000000000000
RIP=0x00007f51f3f65348, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
This is a special build of that change with
- VerifyDuringGC, VerifyBeforeGC, VerifyAfterGC set to true in gc_globals.hpp
- in g1_globals.hpp G1EvacuationFailureALot set to true
- (this is a fastdebug build failure, so it's not relevant, but I also set EVAC_FAILURE_INJECTOR to 1 in line 38 of that file to also have induced evacuation failure functionality in product builds too)
All of these flags just change timing of gcs.
The failure is in verification at the start of the Remark pause (g1ConcurrentMark.cpp:1255) before doing anything in particular.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/opt/mach5/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S14089/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ecc844bd-9306-47c3-9126-67f95d362502/runs/54847e98-aa9c-4094-8db6-332b8cd97bde/workspace/open/src/hotspot/share/classfile/loaderConstraints.cpp:474), pid=506426, tid=506437
# guarantee(entry != nullptr) failed: klass should be in the placeholders
#
# JRE version: Java(TM) SE Runtime Environment (22.0) (fastdebug build 22-internal-2023-06-22-1449194.thomas.schatzl.jdk)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-internal-2023-06-22-1449194.thomas.schatzl.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x1229348] LoaderConstraintTable::verify()+0x1d8
--------------- T H R E A D ---------------
Current thread (0x00007f51ec20fa70): VMThread "VM Thread" [id=506437, stack(0x00007f51c4b27000,0x00007f51c4c27000) (1024K)]
Stack: [0x00007f51c4b27000,0x00007f51c4c27000], sp=0x00007f51c4c24f80, free space=1015k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1229348] LoaderConstraintTable::verify()+0x1d8 (loaderConstraints.cpp:474)
V [libjvm.so+0x173ba85] SystemDictionary::verify()+0x25 (systemDictionary.cpp:2399)
V [libjvm.so+0x17e06bf] Universe::verify(VerifyOption, char const*)+0x66f (universe.cpp:1157)
V [libjvm.so+0xc60285] G1ConcurrentMark::verify_during_pause(G1HeapVerifier::G1VerifyType, G1ConcurrentMark::VerifyLocation)+0xf5 (g1ConcurrentMark.cpp:1091)
V [libjvm.so+0xc651e9] G1ConcurrentMark::remark()+0x89 (g1ConcurrentMark.cpp:1255)
V [libjvm.so+0xd2a2c6] VM_G1PauseConcurrent::doit()+0x1c6 (g1VMOperations.cpp:173)
V [libjvm.so+0x1872219] VM_Operation::evaluate()+0x139 (vmOperations.cpp:71)
V [libjvm.so+0x189285b] VMThread::evaluate_operation(VM_Operation*)+0x10b (vmThread.cpp:281)
V [libjvm.so+0x18933cf] VMThread::inner_execute(VM_Operation*)+0x3bf (vmThread.cpp:435)
V [libjvm.so+0x18935b4] VMThread::loop()+0x84 (vmThread.cpp:502)
V [libjvm.so+0x18936b7] VMThread::run()+0x87 (vmThread.cpp:175)
V [libjvm.so+0x1793dfa] Thread::call_run()+0xba (thread.cpp:217)
V [libjvm.so+0x1491adc] thread_native_entry(Thread*)+0x11c (os_linux.cpp:778)
Registers:
RAX=0x00007f51f50e3000, RBX=0x00007f50900b7e70, RCX=0x00007f51f48f6b88, RDX=0x00007f51f48aad88
RSP=0x00007f51c4c24f80, RBP=0x00007f51c4c24fe0, RSI=0x00000000000001da, RDI=0x00007f51f48f6a18
R8 =0x00000000000001ce, R9 =0x00007f50900b3898, R10=0x00007f5090050750, R11=0x0000000000000000
R12=0x00007f51f4ddb604, R13=0x0000000000000001, R14=0x00007f51100fc8d0, R15=0x0000000000000000
RIP=0x00007f51f3f65348, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000006
TRAPNO=0x000000000000000e
This is a special build of that change with
- VerifyDuringGC, VerifyBeforeGC, VerifyAfterGC set to true in gc_globals.hpp
- in g1_globals.hpp G1EvacuationFailureALot set to true
- (this is a fastdebug build failure, so it's not relevant, but I also set EVAC_FAILURE_INJECTOR to 1 in line 38 of that file to also have induced evacuation failure functionality in product builds too)
All of these flags just change timing of gcs.
The failure is in verification at the start of the Remark pause (g1ConcurrentMark.cpp:1255) before doing anything in particular.
- relates to
-
JDK-8316711 SEGV in LoaderConstraintTable::find_loader_constraint after JDK-8310874
-
- Resolved
-
-
JDK-8262046 Clean up parallel class loading code and comments
-
- Resolved
-
- links to
-
Commit openjdk/jdk/b3d75fe1
-
Review openjdk/jdk/14887
-
Review openjdk/jdk/14889
-
Review openjdk/jdk/15752
(1 links to)