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

Shenandoah: Assertion failed when GC is cancelled by a worker thread

    XMLWordPrintable

Details

    • gc
    • b15

    Description

      During concurrent evacuation, GC can be cancelled by a worker thread, which can result assertion failure during thread state transition.

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (src/hotspot/share/runtime/thread.hpp:2063), pid=23171, tid=23185
      # assert(thread->is_Java_thread()) failed: just checking
      #
      # JRE version: OpenJDK Runtime Environment (14.0) (fastdebug build 14-internal+0-adhoc.zgu.sh-jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 14-internal+0-adhoc.zgu.sh-jdk, mixed mode, tiered, compressed oops, shenandoah gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x15f747c] ShenandoahHeap::try_cancel_gc()+0x26c
      #

      --------------- T H R E A D ---------------

      Current thread (0x00007ff300001000): GCTaskThread "Shenandoah GC Threads#2" [stack: 0x00007ff318072000,0x00007ff318172000] [id=23185]

      Stack: [0x00007ff318072000,0x00007ff318172000], sp=0x00007ff318170270, free space=1016k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x15f747c] ShenandoahHeap::try_cancel_gc()+0x26c
      V [libjvm.so+0x15fc860] ShenandoahHeap::cancel_gc(GCCause::Cause)+0x10
      V [libjvm.so+0x13732c0] ShenandoahHeap::evacuate_object(oop, Thread*)+0x3a0
      V [libjvm.so+0x16017c6] ShenandoahConcurrentEvacuateRegionObjectClosure::do_object(oop)+0x86
      V [libjvm.so+0x1602005] void ShenandoahHeap::marked_object_iterate<ShenandoahConcurrentEvacuateRegionObjectClosure>(ShenandoahHeapRegion*, ShenandoahConcurrentEvacuateRegionObjectClosure*, HeapWordImpl**) [clone .constprop.332]+0x7c5
      V [libjvm.so+0x1602650] ShenandoahEvacuationTask::do_work()+0x90
      V [libjvm.so+0x160285a] ShenandoahEvacuationTask::work(unsigned int)+0x8a
      V [libjvm.so+0x18eff04] GangWorker::run_task(WorkData)+0x84
      V [libjvm.so+0x18f0048] GangWorker::loop()+0x48
      V [libjvm.so+0x17c4996] Thread::call_run()+0xf6
      V [libjvm.so+0x13df82e] thread_native_entry(Thread*)+0x10e

      Register to memory mapping:

      Attachments

        Activity

          People

            zgu Zhengyu Gu
            zgu Zhengyu Gu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: