-
Bug
-
Resolution: Fixed
-
P3
-
8-shenandoah, 11-shenandoah, 13
-
b24
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8225875 | 14 | Zhengyu Gu | P3 | Resolved | Fixed | team |
Like in JDK-8224970, we have another testing failure. This time, we enter heap iteration from post-full-gc hook. So, we should probably provide the separate ShenandoahRootScanner method for object_iterate. It should also scan code roots unconditionally.
# Internal Error (/home/shade/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp:96), pid=36954, tid=36963
# assert(!ShenandoahSafepoint::is_at_shenandoah_safepoint() || !ShenandoahHeap::heap()->unload_classes() || ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc()) failed: Expect class unloading or traversal when Shenandoah c
ycle is running
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x12fcd7a] ShenandoahRootScanner<ShenandoahAllCodeRootsIterator>::roots_do(unsigned int, OopClosure*, CLDClosure*, CodeBlobClosure*, ThreadClosure*)+0x1ba
V [libjvm.so+0x132901a] ShenandoahHeap::object_iterate(ObjectClosure*) [clone .part.141]+0x17a
V [libjvm.so+0xb94d24] HeapInspection::populate_table(KlassInfoTable*, BoolObjectClosure*)+0x94
V [libjvm.so+0xb951ca] HeapInspection::heap_inspection(outputStream*)+0x25a
V [libjvm.so+0xb3562d] VM_GC_HeapInspection::doit()+0x6d
V [libjvm.so+0x831340] CollectedHeap::full_gc_dump(GCTimer*, bool)+0x280
V [libjvm.so+0x831a55] CollectedHeap::post_full_gc_dump(GCTimer*)+0x15
V [libjvm.so+0x1340bd4] ShenandoahMarkCompact::do_it(GCCause::Cause)+0x564
V [libjvm.so+0x1323c3f] ShenandoahHeap::op_full(GCCause::Cause)+0x2f
V [libjvm.so+0x1325d25] ShenandoahHeap::entry_full(GCCause::Cause)+0x275
V [libjvm.so+0x13932db] VM_ShenandoahFullGC::doit()+0x2b
V [libjvm.so+0x158cd31] VM_Operation::evaluate()+0x1c1
V [libjvm.so+0x15b8948] VMThread::evaluate_operation(VM_Operation*) [clone .constprop.61]+0x128
V [libjvm.so+0x15b906b] VMThread::loop()+0x38b
V [libjvm.so+0x15b9a3e] VMThread::run()+0xce
V [libjvm.so+0x14d5869] Thread::call_run()+0xf9
V [libjvm.so+0x112e0a6] thread_native_entry(Thread*)+0x136
C [libpthread.so.0+0x627a] start_thread+0xda
# Internal Error (/home/shade/shenandoah-jdk/src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp:96), pid=36954, tid=36963
# assert(!ShenandoahSafepoint::is_at_shenandoah_safepoint() || !ShenandoahHeap::heap()->unload_classes() || ShenandoahHeap::heap()->heuristics()->can_do_traversal_gc()) failed: Expect class unloading or traversal when Shenandoah c
ycle is running
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x12fcd7a] ShenandoahRootScanner<ShenandoahAllCodeRootsIterator>::roots_do(unsigned int, OopClosure*, CLDClosure*, CodeBlobClosure*, ThreadClosure*)+0x1ba
V [libjvm.so+0x132901a] ShenandoahHeap::object_iterate(ObjectClosure*) [clone .part.141]+0x17a
V [libjvm.so+0xb94d24] HeapInspection::populate_table(KlassInfoTable*, BoolObjectClosure*)+0x94
V [libjvm.so+0xb951ca] HeapInspection::heap_inspection(outputStream*)+0x25a
V [libjvm.so+0xb3562d] VM_GC_HeapInspection::doit()+0x6d
V [libjvm.so+0x831340] CollectedHeap::full_gc_dump(GCTimer*, bool)+0x280
V [libjvm.so+0x831a55] CollectedHeap::post_full_gc_dump(GCTimer*)+0x15
V [libjvm.so+0x1340bd4] ShenandoahMarkCompact::do_it(GCCause::Cause)+0x564
V [libjvm.so+0x1323c3f] ShenandoahHeap::op_full(GCCause::Cause)+0x2f
V [libjvm.so+0x1325d25] ShenandoahHeap::entry_full(GCCause::Cause)+0x275
V [libjvm.so+0x13932db] VM_ShenandoahFullGC::doit()+0x2b
V [libjvm.so+0x158cd31] VM_Operation::evaluate()+0x1c1
V [libjvm.so+0x15b8948] VMThread::evaluate_operation(VM_Operation*) [clone .constprop.61]+0x128
V [libjvm.so+0x15b906b] VMThread::loop()+0x38b
V [libjvm.so+0x15b9a3e] VMThread::run()+0xce
V [libjvm.so+0x14d5869] Thread::call_run()+0xf9
V [libjvm.so+0x112e0a6] thread_native_entry(Thread*)+0x136
C [libpthread.so.0+0x627a] start_thread+0xda
- backported by
-
JDK-8225875 Separate ShenandoahRootScanner method for object_iterate
-
- Resolved
-
- relates to
-
JDK-8224970 ShenandoahRootScanner::roots_do assert is too strong
-
- Resolved
-