[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