Seems to reproduce intermittently on current mainline like this:
$ CONF=linux-aarch64-server-fastdebug make test TEST=jdk/jfr/event/oldobject/TestFieldInformation.java TEST_VM_OPTS="-XX:+UseShenandoahGC" JTREG=REPEAT_COUNT=1000
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shipilev/shipilev-jdk/src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp:70), pid=32551, tid=32622
# Error: Shenandoah assert_correct failed; Multiple forwardings
Referenced from:
no interior location recorded (probably a plain heap scan, or detached oop)
Object:
0x00000000d10317b8 - klass 0x00003800001bd288 java.lang.String
allocated after mark start
not after update watermark
marked strong
marked weak
in collection set
mark: marked(0x00000000fffc0883)
region: | 64|CS |BTE d1000000, d10321d0, d1040000|TAMS d10317b8|UWM d10321d0|U 200K|T 95984B|G 0B|S 106K|L 107K|CP 0
Forwardee:
0x00000000fffc0880 - klass 0x00003800001bd288 java.lang.String
allocated after mark start
not after update watermark
marked strong
marked weak
not in collection set
mark: marked(0x0000000000000007)
region: | 3071|R |BTE fffc0000, ffff9720, 100000000|TAMS fffc0000|UWM ffff9720|U 229K|T 0B|G 35088B|S 195K|L 0B|CP 0
Second forwardee:
0x0000000000000004 - safe print, no details
--------------- T H R E A D ---------------
Current thread (0x0000ffff842c2a80): VMThread "VM Thread" [id=32622, stack(0x0000fffe60466000,0x0000fffe60664000) (2040K)]
Stack: [0x0000fffe60466000,0x0000fffe60664000], sp=0x0000fffe6065fbe0, free space=2022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1868b00] VMError::report_and_die(int, char const*, char const*, std::__va_list, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x4b4 (shenandoahForwarding.inline.hpp:70)
V [libjvm.so+0x1869358] (vmError.cpp:1611)
V [libjvm.so+0xa1d754] report_vm_error(char const*, int, char const*, char const*, ...)+0xf4 (debug.cpp:193)
V [libjvm.so+0xa1d77c] (debug.cpp:149)
V [libjvm.so+0x1551bc8] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oop, void*, oop, char const*, char const*, char const*, int)+0x258 (shenandoahAsserts.cpp:166)
V [libjvm.so+0x1552af8] ShenandoahAsserts::assert_correct(void*, oop, char const*, int)+0x8b8 (shenandoahAsserts.cpp:248)
V [libjvm.so+0x5e97ec] ShenandoahBarrierSet::load_reference_barrier(oop)+0x20c (shenandoahForwarding.inline.hpp:70)
V [libjvm.so+0x5ec9cc] oop ShenandoahBarrierSet::load_reference_barrier<narrowOop>(unsigned long, oop, narrowOop*)+0x8c (shenandoahBarrierSet.inline.hpp:125)
V [libjvm.so+0x5ecdec] oop ShenandoahBarrierSet::oop_load<narrowOop>(unsigned long, narrowOop*)+0x6c (shenandoahBarrierSet.inline.hpp:185)
V [libjvm.so+0x65fff8] AccessInternal::PostRuntimeDispatch<ShenandoahBarrierSet::AccessBarrier<282726ul, ShenandoahBarrierSet>, (AccessInternal::BarrierType)2, 282726ul>::oop_access_barrier(void*)+0x38 (shenandoahBarrierSet.inline.hpp:232)
V [libjvm.so+0x65bb8c] BFSClosure::do_oop(narrowOop*)+0x5c (accessBackend.hpp:435)
V [libjvm.so+0x65f2b8] void OopOopIterateDispatch<BFSClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(BFSClosure*, oop, Klass*)+0x138 (devirtualizer.inline.hpp:88)
V [libjvm.so+0x65ab14] BFSClosure::iterate(Edge const*)+0xd4 (iterator.inline.hpp:295)
V [libjvm.so+0x65af5c] BFSClosure::process_queue()+0x90 (bfsClosure.cpp:175)
V [libjvm.so+0x1417040] PathToGcRootsOperation::doit()+0x9a0 (pathToGcRootsOperation.cpp:123)
V [libjvm.so+0x186fa84] VM_Operation::evaluate()+0x1a4 (vmOperations.cpp:75)
V [libjvm.so+0x1896b9c] VMThread::evaluate_operation(VM_Operation*)+0xbc (vmThread.cpp:283)
V [libjvm.so+0x1897aa4] VMThread::inner_execute(VM_Operation*)+0x3f4 (vmThread.cpp:427)
V [libjvm.so+0x1897cb0] VMThread::loop()+0x80 (vmThread.cpp:493)
V [libjvm.so+0x1897e0c] VMThread::run()+0xac (vmThread.cpp:177)
V [libjvm.so+0x17814a0] Thread::call_run()+0x120 (thread.cpp:225)
V [libjvm.so+0x13aabac] thread_native_entry(Thread*)+0x12c (os_linux.cpp:858)
C [libpthread.so.0+0x7230] start_thread+0xb0
VM_Operation (0x0000fffe1ba03a60): JFROldObject, mode: safepoint, requested by thread 0x0000ffff84470190
Events (39 events):
Event: 1.578 Concurrent reset
Event: 1.580 Concurrent reset done
Event: 1.580 Pause Init Mark (unload classes)
Event: 1.582 Pause Init Mark (unload classes) done
Event: 1.582 Concurrent marking roots
Event: 1.583 Concurrent marking roots done
Event: 1.583 Concurrent marking (unload classes)
Event: 1.590 Concurrent marking (unload classes) done
Event: 1.590 Pause Final Mark (unload classes)
Event: 1.591 Pause Final Mark (unload classes) done
Event: 1.591 Concurrent thread roots
Event: 1.591 Concurrent thread roots done
Event: 1.591 Concurrent weak references
Event: 1.592 Concurrent weak references done
Event: 1.592 Concurrent weak roots
$ CONF=linux-aarch64-server-fastdebug make test TEST=jdk/jfr/event/oldobject/TestFieldInformation.java TEST_VM_OPTS="-XX:+UseShenandoahGC" JTREG=REPEAT_COUNT=1000
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shipilev/shipilev-jdk/src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp:70), pid=32551, tid=32622
# Error: Shenandoah assert_correct failed; Multiple forwardings
Referenced from:
no interior location recorded (probably a plain heap scan, or detached oop)
Object:
0x00000000d10317b8 - klass 0x00003800001bd288 java.lang.String
allocated after mark start
not after update watermark
marked strong
marked weak
in collection set
mark: marked(0x00000000fffc0883)
region: | 64|CS |BTE d1000000, d10321d0, d1040000|TAMS d10317b8|UWM d10321d0|U 200K|T 95984B|G 0B|S 106K|L 107K|CP 0
Forwardee:
0x00000000fffc0880 - klass 0x00003800001bd288 java.lang.String
allocated after mark start
not after update watermark
marked strong
marked weak
not in collection set
mark: marked(0x0000000000000007)
region: | 3071|R |BTE fffc0000, ffff9720, 100000000|TAMS fffc0000|UWM ffff9720|U 229K|T 0B|G 35088B|S 195K|L 0B|CP 0
Second forwardee:
0x0000000000000004 - safe print, no details
--------------- T H R E A D ---------------
Current thread (0x0000ffff842c2a80): VMThread "VM Thread" [id=32622, stack(0x0000fffe60466000,0x0000fffe60664000) (2040K)]
Stack: [0x0000fffe60466000,0x0000fffe60664000], sp=0x0000fffe6065fbe0, free space=2022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1868b00] VMError::report_and_die(int, char const*, char const*, std::__va_list, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x4b4 (shenandoahForwarding.inline.hpp:70)
V [libjvm.so+0x1869358] (vmError.cpp:1611)
V [libjvm.so+0xa1d754] report_vm_error(char const*, int, char const*, char const*, ...)+0xf4 (debug.cpp:193)
V [libjvm.so+0xa1d77c] (debug.cpp:149)
V [libjvm.so+0x1551bc8] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oop, void*, oop, char const*, char const*, char const*, int)+0x258 (shenandoahAsserts.cpp:166)
V [libjvm.so+0x1552af8] ShenandoahAsserts::assert_correct(void*, oop, char const*, int)+0x8b8 (shenandoahAsserts.cpp:248)
V [libjvm.so+0x5e97ec] ShenandoahBarrierSet::load_reference_barrier(oop)+0x20c (shenandoahForwarding.inline.hpp:70)
V [libjvm.so+0x5ec9cc] oop ShenandoahBarrierSet::load_reference_barrier<narrowOop>(unsigned long, oop, narrowOop*)+0x8c (shenandoahBarrierSet.inline.hpp:125)
V [libjvm.so+0x5ecdec] oop ShenandoahBarrierSet::oop_load<narrowOop>(unsigned long, narrowOop*)+0x6c (shenandoahBarrierSet.inline.hpp:185)
V [libjvm.so+0x65fff8] AccessInternal::PostRuntimeDispatch<ShenandoahBarrierSet::AccessBarrier<282726ul, ShenandoahBarrierSet>, (AccessInternal::BarrierType)2, 282726ul>::oop_access_barrier(void*)+0x38 (shenandoahBarrierSet.inline.hpp:232)
V [libjvm.so+0x65bb8c] BFSClosure::do_oop(narrowOop*)+0x5c (accessBackend.hpp:435)
V [libjvm.so+0x65f2b8] void OopOopIterateDispatch<BFSClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(BFSClosure*, oop, Klass*)+0x138 (devirtualizer.inline.hpp:88)
V [libjvm.so+0x65ab14] BFSClosure::iterate(Edge const*)+0xd4 (iterator.inline.hpp:295)
V [libjvm.so+0x65af5c] BFSClosure::process_queue()+0x90 (bfsClosure.cpp:175)
V [libjvm.so+0x1417040] PathToGcRootsOperation::doit()+0x9a0 (pathToGcRootsOperation.cpp:123)
V [libjvm.so+0x186fa84] VM_Operation::evaluate()+0x1a4 (vmOperations.cpp:75)
V [libjvm.so+0x1896b9c] VMThread::evaluate_operation(VM_Operation*)+0xbc (vmThread.cpp:283)
V [libjvm.so+0x1897aa4] VMThread::inner_execute(VM_Operation*)+0x3f4 (vmThread.cpp:427)
V [libjvm.so+0x1897cb0] VMThread::loop()+0x80 (vmThread.cpp:493)
V [libjvm.so+0x1897e0c] VMThread::run()+0xac (vmThread.cpp:177)
V [libjvm.so+0x17814a0] Thread::call_run()+0x120 (thread.cpp:225)
V [libjvm.so+0x13aabac] thread_native_entry(Thread*)+0x12c (os_linux.cpp:858)
C [libpthread.so.0+0x7230] start_thread+0xb0
VM_Operation (0x0000fffe1ba03a60): JFROldObject, mode: safepoint, requested by thread 0x0000ffff84470190
Events (39 events):
Event: 1.578 Concurrent reset
Event: 1.580 Concurrent reset done
Event: 1.580 Pause Init Mark (unload classes)
Event: 1.582 Pause Init Mark (unload classes) done
Event: 1.582 Concurrent marking roots
Event: 1.583 Concurrent marking roots done
Event: 1.583 Concurrent marking (unload classes)
Event: 1.590 Concurrent marking (unload classes) done
Event: 1.590 Pause Final Mark (unload classes)
Event: 1.591 Pause Final Mark (unload classes) done
Event: 1.591 Concurrent thread roots
Event: 1.591 Concurrent thread roots done
Event: 1.591 Concurrent weak references
Event: 1.592 Concurrent weak references done
Event: 1.592 Concurrent weak roots
- duplicates
-
JDK-8279016 JFR Leak Profiler is broken with Shenandoah
-
- Resolved
-