[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