RFR: 8254125: Assertion in cppVtables.cpp during builds on 32bit Windows [v2]
Ioi Lam
iklam at openjdk.java.net
Tue Oct 13 06:06:12 UTC 2020
On Mon, 12 Oct 2020 17:50:31 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> This looks reasonable to me, but after testing it on x86_32, I wonder if
> https://bugs.openjdk.java.net/browse/JDK-8254606 is the problem with this patch, or a different issue.
[JDK-8254606](https://bugs.openjdk.java.net/browse/JDK-8254606) is also caused by
[JDK-8224509](https://bugs.openjdk.java.net/browse/JDK-8224509), which has missed some cases where `align_up(xxx,
SharedSpaceObjectAlignment)` is necessary.
Since the cppVtables assertion fix cannot be easily validated by itself, I've decided to also include the `align_up`
fixes in this PR.
I have tested the fix on linux-x86 (32-bit) but the latest repo seems a bit flaky. Even if I disable CDS, sometime I
get failures in (non-CDS) test cases like `There cannot be a NullPointerException at bci 14 of method byte
java.lang.String.coder()`.
I was able to run all 200+ CDS tests cases, and I would get about 5 failures due with the above error message. If I ran
the failed tests again, they passed. So I **think** I have fixed the 32-bit issues with CDS, but there are probably
other problems with the 32-bit build.
Note that Oracle no longer supports the 32-bit x86 VMs. So my fix is intended to ensure that the CDS code is using
SharedSpaceObjectAlignment properly, and I can only test thoroughly on our supported platforms.
-------------
PR: https://git.openjdk.java.net/jdk/pull/591
More information about the serviceability-dev
mailing list