On Mon, 12 Oct 2020 17:50:31 GMT, Aleksey Shipilev <sh...@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