[14] RFR(T) 8230730: UseCompressedOops test crash with assertion failure
Zhengyu Gu
zgu at redhat.com
Sat Sep 7 02:45:25 UTC 2019
JDK-8224815 changed the assertion from:
assert((intptr_t)base() <= (intptr_t)(Universe::heap()->base() -
os::vm_page_size()) || base() == NULL, "invalid value");
to
assert((intptr_t)base() <= (intptr_t)(_heap_address_range.start() -
os::vm_page_size()) || base() == NULL, "invalid value");
while Universe::heap()->base() returns "address" type,
_heap_address_range.start() returns "HeapWord*" type, therefore, new
assertion subtracts vm_page_size * sizeof(HeapWord*) from base address,
that triggers assertion failure.
This bug is only exposed when JVM can not obtain zero-based heap.
Bug: https://bugs.openjdk.java.net/browse/JDK-8230730
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8230730/webrev.00/
Test:
hotspot_gc (fastdebug) on Linux x86_64 and aarch64.
Submit test in progress.
Thanks,
-Zhengyu
More information about the hotspot-gc-dev
mailing list