-
Bug
-
Resolution: Other
-
P3
-
None
-
None
Reported by Martin Doerr:
(Also seen on RISCV.)
I’ve seen a new problem on the PPC64 machine which uses 64k pages (see TestAllocOutOfMemory.java#large).
The new failure is in gc/TestAllocHumongousFragment.java#generational.
# Internal Error (src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp:1244), pid=3817786, tid=3817805
# Error: Verify init-mark remembered set violation; clean card should be dirty
Referenced from:
interior location: 0x00000000ffe007fc
inside Java heap
not in collection set
region: | 2044|R |O|BTE ffe00000, ffe79b28, ffe80000|TAMS ffe00000|UWM ffe79b28|U 486K|T 0B|G 0B|P 0B|S 486K|L 486K|CP 0
Object:
0x00000000f3080000 - klass 0x00000008000028c8 [I
not allocated after mark start
not after update watermark
not marked strong
not marked weak
not in collection set
age: 0
mark: mark(is_neutral no_hash age=0)
region: | 1633|H |Y|BTE f3080000, f3100000, f3100000|TAMS f3100000|UWM f3100000|U 512K|T 0B|G 0B|P 0B|S 512K|L 0B|CP 0
Forwardee:
(the object itself)
Current thread (0x00007fffa833c6f0): VMThread "VM Thread" [id=3817805, stack(0x00007fff887d0000,0x00007fff889d0000) (2048K)]
V [libjvm.so+0xb0b4c0] report_vm_error(char const*, int, char const*)+0x30 (debug.cpp:147)
V [libjvm.so+0x18ce57c] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oop, void*, oop, char const*, char const*, char const*, int)+0x22c (shenandoahAsserts.cpp:169)
V [libjvm.so+0x1ae978c] void ShenandoahVerifyRemSetClosure::work<narrowOop>(narrowOop*)+0x29c (shenandoahVerifier.cpp:1246)
V [libjvm.so+0x1ae9e00] void OopOopIterateDispatch<ShenandoahVerifyRemSetClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(ShenandoahVerifyRemSetClosure*, oop, Klass*)+0x2d0 (shenandoahVerifier.cpp:1253)
V [libjvm.so+0x1ae0420] ShenandoahVerifier::verify_rem_set_before_mark()+0x530 (iterator.inline.hpp:295)
V [libjvm.so+0x1ae111c] ShenandoahVerifier::verify_at_safepoint(char const*, ShenandoahVerifier::VerifyRememberedSet, ShenandoahVerifier::VerifyForwarded, ShenandoahVerifier::VerifyMarked, ShenandoahVerifier::VerifyCollectionSet, ShenandoahVerifier::VerifyLiveness, ShenandoahVerifier::VerifyRegions, ShenandoahVerifier::VerifySize, ShenandoahVerifier::VerifyGCState)+0x6fc (shenandoahVerifier.cpp:866)
V [libjvm.so+0x1ae1bcc] ShenandoahVerifier::verify_before_concmark()+0x4c (shenandoahVerifier.cpp:1015)
V [libjvm.so+0x191ed30] ShenandoahConcurrentGC::op_init_mark()+0x2f0 (shenandoahConcurrentGC.cpp:666)
V [libjvm.so+0x1921178] ShenandoahConcurrentGC::entry_init_mark()+0xb8 (shenandoahConcurrentGC.cpp:334)
V [libjvm.so+0x1add2b8] VM_ShenandoahInitMark::doit()+0x48 (shenandoahVMOperations.cpp:53)
VM_Operation (0x00007fff88ede150): Shenandoah Init Marking, mode: safepoint, requested by thread 0x00007fffa81a21a0
GC Precious Log:
CardTable entry size: 512
CPUs: 128 total, 64 available
Memory: 123G
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (32-bit)
Heap Min Capacity: 1G
Heap Initial Capacity: 1G
Heap Max Capacity: 1G
Pre-touch: Disabled
Parallel Workers: 32
Concurrent Workers: 16
Heap:
Shenandoah Heap
1024M max, 1024M soft max, 1024M committed, 950M used
2048 x 512K regions
Status: cancelled
Reserved region:
- [0x00000000c0000000, 0x0000000100000000)
Collection set:
- map (vanilla): 0x0000000000011800
- map (biased): 0x0000000000010000
Event: 19.833 Pause Init Mark (YOUNG)
Event: 19.921 Pause Init Mark (YOUNG) done
Event: 19.921 Concurrent remembered set scanning
Event: 19.922 Concurrent remembered set scanning done
Event: 19.922 Concurrent marking roots
Event: 19.924 Concurrent marking roots done
Event: 19.924 Concurrent marking (YOUNG)
Event: 19.924 Thread 0x00007fff48001b70 Thread added: 0x00007fff48001b70
Event: 19.924 Protecting memory [0x00007fff78e00000,0x00007fff78e30000] with protection modes 0
Event: 19.924 Thread 0x00007fff48002f50 Thread added: 0x00007fff48002f50
Event: 19.924 Protecting memory [0x00007fff78a00000,0x00007fff78a30000] with protection modes 0
Event: 19.935 Concurrent marking (YOUNG) done
Event: 19.936 Pause Final Mark (YOUNG)
Event: 19.951 Pause Final Mark (YOUNG) done
Event: 19.952 Concurrent weak references
Event: 19.952 Concurrent weak references done
Event: 19.952 Concurrent weak roots
Event: 19.953 Concurrent weak roots done
Event: 19.954 Concurrent cleanup
Event: 19.966 Concurrent cleanup done
Event: 19.967 Pause Final Roots
Event: 19.967 Pause Final Roots done
Event: 19.979 Concurrent reset
Event: 19.985 Thread 0x00007fffa84cf5f0 Cancelling GC: Allocation Failure
Event: 19.985 Concurrent reset done
Event: 19.986 Pause Init Mark (YOUNG)
(Also seen on RISCV.)
I’ve seen a new problem on the PPC64 machine which uses 64k pages (see TestAllocOutOfMemory.java#large).
The new failure is in gc/TestAllocHumongousFragment.java#generational.
# Internal Error (src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp:1244), pid=3817786, tid=3817805
# Error: Verify init-mark remembered set violation; clean card should be dirty
Referenced from:
interior location: 0x00000000ffe007fc
inside Java heap
not in collection set
region: | 2044|R |O|BTE ffe00000, ffe79b28, ffe80000|TAMS ffe00000|UWM ffe79b28|U 486K|T 0B|G 0B|P 0B|S 486K|L 486K|CP 0
Object:
0x00000000f3080000 - klass 0x00000008000028c8 [I
not allocated after mark start
not after update watermark
not marked strong
not marked weak
not in collection set
age: 0
mark: mark(is_neutral no_hash age=0)
region: | 1633|H |Y|BTE f3080000, f3100000, f3100000|TAMS f3100000|UWM f3100000|U 512K|T 0B|G 0B|P 0B|S 512K|L 0B|CP 0
Forwardee:
(the object itself)
Current thread (0x00007fffa833c6f0): VMThread "VM Thread" [id=3817805, stack(0x00007fff887d0000,0x00007fff889d0000) (2048K)]
V [libjvm.so+0xb0b4c0] report_vm_error(char const*, int, char const*)+0x30 (debug.cpp:147)
V [libjvm.so+0x18ce57c] ShenandoahAsserts::print_failure(ShenandoahAsserts::SafeLevel, oop, void*, oop, char const*, char const*, char const*, int)+0x22c (shenandoahAsserts.cpp:169)
V [libjvm.so+0x1ae978c] void ShenandoahVerifyRemSetClosure::work<narrowOop>(narrowOop*)+0x29c (shenandoahVerifier.cpp:1246)
V [libjvm.so+0x1ae9e00] void OopOopIterateDispatch<ShenandoahVerifyRemSetClosure>::Table::oop_oop_iterate<ObjArrayKlass, narrowOop>(ShenandoahVerifyRemSetClosure*, oop, Klass*)+0x2d0 (shenandoahVerifier.cpp:1253)
V [libjvm.so+0x1ae0420] ShenandoahVerifier::verify_rem_set_before_mark()+0x530 (iterator.inline.hpp:295)
V [libjvm.so+0x1ae111c] ShenandoahVerifier::verify_at_safepoint(char const*, ShenandoahVerifier::VerifyRememberedSet, ShenandoahVerifier::VerifyForwarded, ShenandoahVerifier::VerifyMarked, ShenandoahVerifier::VerifyCollectionSet, ShenandoahVerifier::VerifyLiveness, ShenandoahVerifier::VerifyRegions, ShenandoahVerifier::VerifySize, ShenandoahVerifier::VerifyGCState)+0x6fc (shenandoahVerifier.cpp:866)
V [libjvm.so+0x1ae1bcc] ShenandoahVerifier::verify_before_concmark()+0x4c (shenandoahVerifier.cpp:1015)
V [libjvm.so+0x191ed30] ShenandoahConcurrentGC::op_init_mark()+0x2f0 (shenandoahConcurrentGC.cpp:666)
V [libjvm.so+0x1921178] ShenandoahConcurrentGC::entry_init_mark()+0xb8 (shenandoahConcurrentGC.cpp:334)
V [libjvm.so+0x1add2b8] VM_ShenandoahInitMark::doit()+0x48 (shenandoahVMOperations.cpp:53)
VM_Operation (0x00007fff88ede150): Shenandoah Init Marking, mode: safepoint, requested by thread 0x00007fffa81a21a0
GC Precious Log:
CardTable entry size: 512
CPUs: 128 total, 64 available
Memory: 123G
Large Page Support: Disabled
NUMA Support: Disabled
Compressed Oops: Enabled (32-bit)
Heap Min Capacity: 1G
Heap Initial Capacity: 1G
Heap Max Capacity: 1G
Pre-touch: Disabled
Parallel Workers: 32
Concurrent Workers: 16
Heap:
Shenandoah Heap
1024M max, 1024M soft max, 1024M committed, 950M used
2048 x 512K regions
Status: cancelled
Reserved region:
- [0x00000000c0000000, 0x0000000100000000)
Collection set:
- map (vanilla): 0x0000000000011800
- map (biased): 0x0000000000010000
Event: 19.833 Pause Init Mark (YOUNG)
Event: 19.921 Pause Init Mark (YOUNG) done
Event: 19.921 Concurrent remembered set scanning
Event: 19.922 Concurrent remembered set scanning done
Event: 19.922 Concurrent marking roots
Event: 19.924 Concurrent marking roots done
Event: 19.924 Concurrent marking (YOUNG)
Event: 19.924 Thread 0x00007fff48001b70 Thread added: 0x00007fff48001b70
Event: 19.924 Protecting memory [0x00007fff78e00000,0x00007fff78e30000] with protection modes 0
Event: 19.924 Thread 0x00007fff48002f50 Thread added: 0x00007fff48002f50
Event: 19.924 Protecting memory [0x00007fff78a00000,0x00007fff78a30000] with protection modes 0
Event: 19.935 Concurrent marking (YOUNG) done
Event: 19.936 Pause Final Mark (YOUNG)
Event: 19.951 Pause Final Mark (YOUNG) done
Event: 19.952 Concurrent weak references
Event: 19.952 Concurrent weak references done
Event: 19.952 Concurrent weak roots
Event: 19.953 Concurrent weak roots done
Event: 19.954 Concurrent cleanup
Event: 19.966 Concurrent cleanup done
Event: 19.967 Pause Final Roots
Event: 19.967 Pause Final Roots done
Event: 19.979 Concurrent reset
Event: 19.985 Thread 0x00007fffa84cf5f0 Cancelling GC: Allocation Failure
Event: 19.985 Concurrent reset done
Event: 19.986 Pause Init Mark (YOUNG)
- relates to
-
JDK-8307314 Implementation: Generational Shenandoah (Experimental)
-
- Closed
-
-
JDK-8309322 [GenShen] TestAllocOutOfMemory#large failed
-
- Resolved
-
-
JDK-8287090 Shenandoah: after updaterefs verification reports confusing error message
-
- New
-