Integrated: 8344389: 32-bit builds fail at CDS build time after JDK-8331497

Aleksey Shipilev shade at openjdk.org
Mon Nov 18 18:11:14 UTC 2024


On Mon, 18 Nov 2024 11:09:38 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Trying to build 32-bit builds would fail during the build on this assert:
> 
> 
> # Internal Error (/home/buildbot/worker/build-jdkX/build/src/hotspot/share/cds/archiveBuilder.cpp:900), pid=267008, tid=267017
> # assert(HeapShared::is_lambda_proxy_klass(ik)) failed: sanity
> #
> # JRE version: OpenJDK Runtime Environment (24.0) (fastdebug build 24-internal-adhoc.buildbot.build)
> # Java VM: OpenJDK Server VM (fastdebug 24-internal-adhoc.buildbot.build, interpreted mode, g1 gc, linux-arm)
> # Problematic frame:
> # V [libjvm.so+0x2a3db8] ArchiveBuilder::make_klasses_shareable()+0x15d0
> 
> 
> That assert was added by [JDK-8331497](https://bugs.openjdk.org/browse/JDK-8331497). Unfortunately, with `!INCLUDE_CDS_JAVA_HEAP` for 32-bit builds, `HeapShared::is_lambda_proxy_klass` would be compiled as unconditional `false`, which is guaranteed to fail the assert.
> 
> I think the minimal fix to unbreak the builds is wrapping that asserts with appropriate macros.
> 
> Additional testing:
>  - [x] Linux x86_32 fastdebug build now passes (needs [JDK-8344352](https://bugs.openjdk.org/browse/JDK-8344352) too)
>  - [x] Linux arm32 fastdebug build now passes (needs [JDK-8344352](https://bugs.openjdk.org/browse/JDK-8344352) too)

This pull request has now been integrated.

Changeset: c4e7dc7f
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/c4e7dc7ff24809ced7bc3363fc3b462108b992dd
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8344389: 32-bit builds fail at CDS build time after JDK-8331497

Reviewed-by: iklam

-------------

PR: https://git.openjdk.org/jdk/pull/22201


More information about the hotspot-runtime-dev mailing list