Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8225014

Separate ShenandoahRootScanner method for object_iterate

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8-shenandoah, 11-shenandoah, 13
    • Fix Version/s: 13
    • Component/s: hotspot
    • Subcomponent:
      gc
    • Resolved In Build:
      b24

      Backports

        Description

        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

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                zgu Zhengyu Gu
                Reporter:
                shade Aleksey Shipilev
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: