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

Shenandoah: Pre-evacuate string-dedup roots in Traversal GC

XMLWordPrintable

    • gc
    • b16
    • generic
    • generic

      We need to pre-evacuate string-dedup roots in Traversal GC, just like we do in conc-mark-GC, otherwise we might get from-space objects there, and hit asserts later:

      # Internal Error (/home/jenkins/workspace/nightly/jdk-jdk/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:168), pid=78715, tid=78721
      # Error: Shenandoah assert_not_in_cset_loc failed; Interior location should not be in collection set

      Referenced from:
        interior location: 0x00000000feeda85c
        inside Java heap
              in collection set
        region: | 1979|CS |BTE feec0000, fef00000, fef00000|TAMS fef00000|U 256K|T 0B|G 256K|S 0B|L 0B|CP 0|SN 0, 0, 2f1, 2f1

      Object:
        0x0000000000000000 - safe print, no details


      Coming out of:

      Stack: [0x00002b5fa1261000,0x00002b5fa1361000], sp=0x00002b5fa135d440, free space=1009k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1802cfe] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x21e
      V [libjvm.so+0x1803b57] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x47
      V [libjvm.so+0xa606fa] report_vm_error(char const*, int, char const*, char const*, ...)+0x1ba
      V [libjvm.so+0x1516e50] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oop, void*, oop, char const*, char const*, char const*, int)+0x490
      V [libjvm.so+0x151a9c7] ShenandoahAsserts::assert_not_in_cset_loc(void*, char const*, int)+0x127
      V [libjvm.so+0x151bdfb] ShenandoahBarrierSet::write_ref_field_pre_work(unsigned int*, oop)+0x4b
      V [libjvm.so+0x8a74c1] AccessInternal::PostRuntimeDispatch<ShenandoahBarrierSet::AccessBarrier<573558ul, ShenandoahBarrierSet>, (AccessInternal::BarrierType)1, 573558ul>::oop_access_barrier(oop, long, oop)+0x121
      V [libjvm.so+0x1640803] StringDedupTable::deduplicate(oop, StringDedupStat*)+0xc93
      V [libjvm.so+0x15bd342] StringDedupThreadImpl<StringDedupStat>::do_deduplication()+0x112
      V [libjvm.so+0x9cde6b] ConcurrentGCThread::run()+0x2b
      V [libjvm.so+0x1756bcb] Thread::call_run()+0xfb
      V [libjvm.so+0x1384795] thread_native_entry(Thread*)+0x115

            rkennke Roman Kennke
            rkennke Roman Kennke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: