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

Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b28

      Backports

        Description

        Shenandoah GC specific safepoints are scheduled by control thread, therefore, query from control thread should return false.

        I saw an assertion failure on x86_32, due to the wrong answer.

        # Internal Error (/home/zgu/ws/jdk/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp:2036), pid=1410312, tid=1410328
        # assert(nworkers == ParallelGCThreads) failed: Use ParallelGCThreads within safepoints

        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x14c3977] ShenandoahHeap::assert_gc_workers(unsigned int)+0x157
        V [libjvm.so+0x1497a9e] ShenandoahConcurrentGC::entry_evacuate()+0x8e
        V [libjvm.so+0x149a4de] ShenandoahConcurrentGC::collect(GCCause::Cause)+0x28e
        V [libjvm.so+0x14ac296] ShenandoahControlThread::service_concurrent_normal_cycle(GCCause::Cause)+0x96
        V [libjvm.so+0x14acddd] ShenandoahControlThread::run_service()+0x74d
        V [libjvm.so+0x9455c6] ConcurrentGCThread::run()+0x26
        V [libjvm.so+0x16c602a] Thread::call_run()+0xfa
        V [libjvm.so+0x12cd3d7] thread_native_entry(Thread*)+0x137
        C [libpthread.so.0+0x867e] start_thread+0xee

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  zgu Zhengyu Gu
                  Reporter:
                  zgu Zhengyu Gu
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: