Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8344389

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

XMLWordPrintable

    • b25

      Trying to build 32-bit builds that do not enable `INCLUDE_CDS_JAVA_HEAP` 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. Unfortunately, with `!INCLUDE_CDS_JAVA_HEAP`, `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 those asserts into appropriate macros.

            shade Aleksey Shipilev
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: