-
Bug
-
Resolution: Fixed
-
P4
-
11-shenandoah, 13
-
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
# 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