[14] RFR(T) 8230730: UseCompressedOops test crash with assertion failure

Erik Osterlund erik.osterlund at oracle.com
Sat Sep 7 07:27:16 UTC 2019


Hi Zhengyu,

Looks good.

Thanks,
/Erik

> On 7 Sep 2019, at 04:45, Zhengyu Gu <zgu at redhat.com> wrote:
> 
> 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