-
Bug
-
Resolution: Fixed
-
P3
-
21
-
b20
-
aarch64
-
os_x
The following test failed in the JDK21 CI:
runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java
Here's snippets from the hs_err_pid file:
# Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S65008/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/43400d5d-58a9-4063-b829-40c489be60da/runs/2503f40a-bd21-4674-9378-ad50808570e5/workspace/open/src/hotspot/share/runtime/mutex.cpp:57), pid=1197, tid=15107
# fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: Heap_lock
#
# JRE version: Java(TM) SE Runtime Environment (21.0+19) (fastdebug build 21-ea+19-LTS-1562)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+19-LTS-1562, interpreted mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
<snip>
--------------- T H R E A D ---------------
Current thread (0x000000014260e6b0): VMThread "VM Thread" [stack: 0x000000016e1f4000,0x000000016e3f7000] [id=15107]
Stack: [0x000000016e1f4000,0x000000016e3f7000], sp=0x000000016e3f5ab0, free space=2054k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x12b76ac] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x4bc (mutex.cpp:57)
V [libjvm.dylib+0x670818] report_fatal(VMErrorType, char const*, int, char const*, ...)+0x88
V [libjvm.dylib+0xf02dd0] Mutex::check_safepoint_state(Thread*)+0x5c
V [libjvm.dylib+0xf033a4] Mutex::lock(Thread*)+0x68
V [libjvm.dylib+0x995654] vm_exit(int)+0x110
V [libjvm.dylib+0x916bd0] KlassSubGraphInfo::check_allowed_klass(InstanceKlass*)+0xa0
V [libjvm.dylib+0x9167d8] KlassSubGraphInfo::add_subgraph_object_klass(Klass*)+0x724
V [libjvm.dylib+0x91355c] HeapShared::archive_reachable_objects_from(int, KlassSubGraphInfo*, oop, bool)+0x7f8
V [libjvm.dylib+0x91c6bc] void WalkOopAndArchiveClosure::do_oop_work<narrowOop>(narrowOop*)+0x42c
V [libjvm.dylib+0x920edc] void ObjArrayKlass::oop_oop_iterate<narrowOop, WalkOopAndArchiveClosure>(oop, WalkOopAndArchiveClosure*)+0x2b0
V [libjvm.dylib+0x920b98] void OopOopIterateDispatch<WalkOopAndArchiveClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(WalkOopAndArchiveClosure*, oop, Klass*)+0x4c
V [libjvm.dylib+0x9199a0] void oopDesc::oop_iterate<WalkOopAndArchiveClosure>(WalkOopAndArchiveClosure*)+0x118
V [libjvm.dylib+0x913600] HeapShared::archive_reachable_objects_from(int, KlassSubGraphInfo*, oop, bool)+0x89c
V [libjvm.dylib+0x919be8] HeapShared::archive_reachable_objects_from_static_field(InstanceKlass*, char const*, int, char const*, bool)+0x210
V [libjvm.dylib+0x915bd0] HeapShared::archive_object_subgraphs(ArchivableStaticFieldInfo*, bool, bool)+0x11c
V [libjvm.dylib+0x9153a8] HeapShared::copy_open_objects()+0x10c
V [libjvm.dylib+0x914e3c] HeapShared::archive_objects(GrowableArray<MemRegion>*, GrowableArray<MemRegion>*, GrowableArray<ArchiveHeapBitmapInfo>*, GrowableArray<ArchiveHeapBitmapInfo>*)+0x2f0
V [libjvm.dylib+0xead268] VM_PopulateDumpSharedSpace::dump_java_heap_objects(GrowableArray<Klass*>*)+0x510
V [libjvm.dylib+0xeacbb8] VM_PopulateDumpSharedSpace::doit()+0xe0
V [libjvm.dylib+0x12bed40] VM_Operation::evaluate()+0x1cc
V [libjvm.dylib+0x12e529c] VMThread::evaluate_operation(VM_Operation*)+0x198
V [libjvm.dylib+0x12e5dec] VMThread::inner_execute(VM_Operation*)+0x334
V [libjvm.dylib+0x12e4edc] VMThread::loop()+0xc4
V [libjvm.dylib+0x12e4ca0] VMThread::run()+0xd0
V [libjvm.dylib+0x11f0c34] Thread::call_run()+0x134
V [libjvm.dylib+0xf731e8] thread_native_entry(Thread*)+0x160
C [libsystem_pthread.dylib+0x726c] _pthread_start+0x94
VM_Operation (0x000000016d7aeb70): PopulateDumpSharedSpace, mode: safepoint, requested by thread 0x000000014280ea10
runtime/cds/appcds/cacheObject/ArchiveHeapTestClass.java
Here's snippets from the hs_err_pid file:
# Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/741e9afd-8c02-45c3-b2e2-9db1450d0832-S65008/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/43400d5d-58a9-4063-b829-40c489be60da/runs/2503f40a-bd21-4674-9378-ad50808570e5/workspace/open/src/hotspot/share/runtime/mutex.cpp:57), pid=1197, tid=15107
# fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: Heap_lock
#
# JRE version: Java(TM) SE Runtime Environment (21.0+19) (fastdebug build 21-ea+19-LTS-1562)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-ea+19-LTS-1562, interpreted mode, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
<snip>
--------------- T H R E A D ---------------
Current thread (0x000000014260e6b0): VMThread "VM Thread" [stack: 0x000000016e1f4000,0x000000016e3f7000] [id=15107]
Stack: [0x000000016e1f4000,0x000000016e3f7000], sp=0x000000016e3f5ab0, free space=2054k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x12b76ac] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x4bc (mutex.cpp:57)
V [libjvm.dylib+0x670818] report_fatal(VMErrorType, char const*, int, char const*, ...)+0x88
V [libjvm.dylib+0xf02dd0] Mutex::check_safepoint_state(Thread*)+0x5c
V [libjvm.dylib+0xf033a4] Mutex::lock(Thread*)+0x68
V [libjvm.dylib+0x995654] vm_exit(int)+0x110
V [libjvm.dylib+0x916bd0] KlassSubGraphInfo::check_allowed_klass(InstanceKlass*)+0xa0
V [libjvm.dylib+0x9167d8] KlassSubGraphInfo::add_subgraph_object_klass(Klass*)+0x724
V [libjvm.dylib+0x91355c] HeapShared::archive_reachable_objects_from(int, KlassSubGraphInfo*, oop, bool)+0x7f8
V [libjvm.dylib+0x91c6bc] void WalkOopAndArchiveClosure::do_oop_work<narrowOop>(narrowOop*)+0x42c
V [libjvm.dylib+0x920edc] void ObjArrayKlass::oop_oop_iterate<narrowOop, WalkOopAndArchiveClosure>(oop, WalkOopAndArchiveClosure*)+0x2b0
V [libjvm.dylib+0x920b98] void OopOopIterateDispatch<WalkOopAndArchiveClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(WalkOopAndArchiveClosure*, oop, Klass*)+0x4c
V [libjvm.dylib+0x9199a0] void oopDesc::oop_iterate<WalkOopAndArchiveClosure>(WalkOopAndArchiveClosure*)+0x118
V [libjvm.dylib+0x913600] HeapShared::archive_reachable_objects_from(int, KlassSubGraphInfo*, oop, bool)+0x89c
V [libjvm.dylib+0x919be8] HeapShared::archive_reachable_objects_from_static_field(InstanceKlass*, char const*, int, char const*, bool)+0x210
V [libjvm.dylib+0x915bd0] HeapShared::archive_object_subgraphs(ArchivableStaticFieldInfo*, bool, bool)+0x11c
V [libjvm.dylib+0x9153a8] HeapShared::copy_open_objects()+0x10c
V [libjvm.dylib+0x914e3c] HeapShared::archive_objects(GrowableArray<MemRegion>*, GrowableArray<MemRegion>*, GrowableArray<ArchiveHeapBitmapInfo>*, GrowableArray<ArchiveHeapBitmapInfo>*)+0x2f0
V [libjvm.dylib+0xead268] VM_PopulateDumpSharedSpace::dump_java_heap_objects(GrowableArray<Klass*>*)+0x510
V [libjvm.dylib+0xeacbb8] VM_PopulateDumpSharedSpace::doit()+0xe0
V [libjvm.dylib+0x12bed40] VM_Operation::evaluate()+0x1cc
V [libjvm.dylib+0x12e529c] VMThread::evaluate_operation(VM_Operation*)+0x198
V [libjvm.dylib+0x12e5dec] VMThread::inner_execute(VM_Operation*)+0x334
V [libjvm.dylib+0x12e4edc] VMThread::loop()+0xc4
V [libjvm.dylib+0x12e4ca0] VMThread::run()+0xd0
V [libjvm.dylib+0x11f0c34] Thread::call_run()+0x134
V [libjvm.dylib+0xf731e8] thread_native_entry(Thread*)+0x160
C [libsystem_pthread.dylib+0x726c] _pthread_start+0x94
VM_Operation (0x000000016d7aeb70): PopulateDumpSharedSpace, mode: safepoint, requested by thread 0x000000014280ea10
- relates to
-
JDK-8306583 Add JVM crash check in CDSTestUtils.executeAndLog
-
- Resolved
-
-
JDK-8306580 Propagate CDS dumping errors instead of directly exiting the VM
-
- Resolved
-