When running with ubsan enabled binaries on AIX, we run into the following issue ; this is seen in a number (~40) of HS tier1 tests :
/srcdir/jdk/src/hotspot/share/gc/g1/g1BiasedArray.hpp:65:25: runtime error: pointer index expression with base 0x000111a45500 overflowed to 0xffffffb111945500
#0 0x900000011f77acc in G1BiasedMappedArrayBase::initialize_base(unsigned char*, unsigned long, unsigned long, unsigned long, unsigned int) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:65
#1 0x900000011f77acc in G1BiasedMappedArrayBase::initialize(HeapWordImpl**, HeapWordImpl**, unsigned long, unsigned long) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:85
#2 0x900000011fca4a4 in G1BiasedMappedArray<G1HeapRegion*>::initialize(MemRegion, unsigned long) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:202
#3 0x900000011fca344 in G1HeapRegionManager::initialize(G1RegionToSpaceMapper*, G1RegionToSpaceMapper*, G1RegionToSpaceMapper*, G1RegionToSpaceMapper*) make/hotspot/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp:87
#4 0x900000011faa3e0 in G1CollectedHeap::initialize() make/hotspot/src/hotspot/share/gc/g1/g1CollectedHeap.cpp:1359
#5 0x900000012b6dc78 in Universe::initialize_heap() make/hotspot/src/hotspot/share/memory/universe.cpp:928
#6 0x900000012b6d754 in universe_init() make/hotspot/src/hotspot/share/memory/universe.cpp:880
#7 0x900000012c3aa58 in init_globals() make/hotspot/src/hotspot/share/runtime/init.cpp:132
#8 0x900000012c6af7c in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:576
#9 0x900000012cb0548 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587
#10 0x900000012cb0548 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678
#11 0x10003cee4 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1506
#12 0x10003cee4 in JavaMain make/src/java.base/share/native/libjli/java.c:494
#13 0x10003ccf4 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:649
#14 0x900000000562048 (/usr/lib/libpthread.a+0x100004048)
Seems we run into the issue in this calculation of _biased_base :
59 void initialize_base(address base, size_t length, size_t bias, size_t elem_size, uint shift_by) {
....
65 _biased_base = base - (bias * elem_size); // <==========================================================
/srcdir/jdk/src/hotspot/share/gc/g1/g1BiasedArray.hpp:65:25: runtime error: pointer index expression with base 0x000111a45500 overflowed to 0xffffffb111945500
#0 0x900000011f77acc in G1BiasedMappedArrayBase::initialize_base(unsigned char*, unsigned long, unsigned long, unsigned long, unsigned int) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:65
#1 0x900000011f77acc in G1BiasedMappedArrayBase::initialize(HeapWordImpl**, HeapWordImpl**, unsigned long, unsigned long) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:85
#2 0x900000011fca4a4 in G1BiasedMappedArray<G1HeapRegion*>::initialize(MemRegion, unsigned long) make/hotspot/src/hotspot/share/gc/g1/g1BiasedArray.hpp:202
#3 0x900000011fca344 in G1HeapRegionManager::initialize(G1RegionToSpaceMapper*, G1RegionToSpaceMapper*, G1RegionToSpaceMapper*, G1RegionToSpaceMapper*) make/hotspot/src/hotspot/share/gc/g1/g1HeapRegionManager.cpp:87
#4 0x900000011faa3e0 in G1CollectedHeap::initialize() make/hotspot/src/hotspot/share/gc/g1/g1CollectedHeap.cpp:1359
#5 0x900000012b6dc78 in Universe::initialize_heap() make/hotspot/src/hotspot/share/memory/universe.cpp:928
#6 0x900000012b6d754 in universe_init() make/hotspot/src/hotspot/share/memory/universe.cpp:880
#7 0x900000012c3aa58 in init_globals() make/hotspot/src/hotspot/share/runtime/init.cpp:132
#8 0x900000012c6af7c in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:576
#9 0x900000012cb0548 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587
#10 0x900000012cb0548 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678
#11 0x10003cee4 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1506
#12 0x10003cee4 in JavaMain make/src/java.base/share/native/libjli/java.c:494
#13 0x10003ccf4 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:649
#14 0x900000000562048 (/usr/lib/libpthread.a+0x100004048)
Seems we run into the issue in this calculation of _biased_base :
59 void initialize_base(address base, size_t length, size_t bias, size_t elem_size, uint shift_by) {
....
65 _biased_base = base - (bias * elem_size); // <==========================================================