Assertion failure in TestSignumVector.java with UseAPX

XMLWordPrintable

    • b27
    • 26
    • master
    • x86
    • linux

        I encountered an internal error when launching the FpMinMaxIntrinsics micros with APX enabled in v9.58 of the Intel SDE (https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html). The steps I took to reproduce the issue are posted below.

        Apply a source code patch to workaround lack of APX_NCI_NDD_NF cpuid detection in SDE.
        --- a/src/hotspot/cpu/x86/vm_version_x86.cpp
        +++ b/src/hotspot/cpu/x86/vm_version_x86.cpp
        @@ -2917,8 +2917,8 @@ VM_Version::VM_Features VM_Version::CpuidInfo::feature_flags() const {
         if (std_cpuid1_ecx.bits.popcnt != 0)
           vm_features.set_feature(CPU_POPCNT);
         if (sefsl1_cpuid7_edx.bits.apx_f != 0 &&
        - xem_xcr0_eax.bits.apx_f != 0 &&
        - std_cpuid29_ebx.bits.apx_nci_ndd_nf != 0) {
        + xem_xcr0_eax.bits.apx_f != 0 /*&&
        + std_cpuid29_ebx.bits.apx_nci_ndd_nf != 0*/) {
           vm_features.set_feature(CPU_APX_F);
         }
         if (std_cpuid1_ecx.bits.avx != 0 &&


        bash ./configure --with-boot-jdk=/opt/jvm/java-25-openjdk --with-boot-jdk-jvmargs="-Xmx8G" --with-jmh=build/jmh/jars --with-hsdis=binutils --with-binutils-src=~/git/sourceware.org/binutils-gdb --with-jtreg=~/github/missa-prime/openjdk/jtreg/build/images/jtreg --with-gtest=~/github/missa-prime/google/googletest --with-debug-level=fastdebug

        make CONF=linux-x86_64-server-fastdebug clean

        make CONF=linux-x86_64-server-fastdebug install-hsdis

        Do a test run to get through the one-time compilations on hardware rather than SDE.
        make test TEST="micro:FpMinMaxIntrinsics" MICRO="JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:-UseAPX"

        sde64 -future -ptr_raise -follow_subprocess -- make test TEST="micro:FpMinMaxIntrinsics" MICRO="JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseAPX"

        The resulting internal error is posted below.

        Running test 'micro:FpMinMaxIntrinsics'
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (~/github/missa-prime/openjdk/jdk/src/hotspot/cpu/x86/x86.ad:2656), pid=165821, tid=165990
        [thread 165865 also had an error]
        # assert(oper_index != 1 || !is_demotion_candidate(mdef)) failed: negL_rReg_ndd
        #
        # JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-adhoc.root.jdk)
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-adhoc.root.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x414789] Matcher::is_register_biasing_candidate(MachNode const*, int)+0x199
        #
        # Core dump will be written. Default location: Determined by the following: "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (alternatively, falling back to ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/test/core.165821)
        #
        # An error report file with more information is saved as:
        # ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/test/hs_err_pid165821.log
        [thread 166025 also had an error]
        #
        # Compiler replay data is saved as:
        # ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/test/replay_pid165821.log
        #
        # If you would like to submit a bug report, please visit:
        # https://bugreport.java.com/bugreport/crash.jsp
        #
        /usr/bin/bash: line 1: 165821 Aborted (core dumped) ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseAPX --add-opens=java.base/java.io=ALL-UNNAMED -jar ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/test/micro/benchmarks.jar -jvmArgsPrepend '-Djava.library.path=~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/images/test/micro/native -XX:+UnlockExperimentalVMOptions -XX:+UseAPX' FpMinMaxIntrinsics > >(/usr/bin/tee ~/github/missa-prime/openjdk/jdk/build/linux-x86_64-server-fastdebug/test-results/micro_FpMinMaxIntrinsics/micro.txt)
        Finished running test 'micro:FpMinMaxIntrinsics'
        Test report is stored in build/linux-x86_64-server-fastdebug/test-results/micro_FpMinMaxIntrinsics

        ==============================
        Test summary
        ==============================
           TEST TOTAL PASS FAIL ERROR SKIP
        >> micro:FpMinMaxIntrinsics 1 0 0 1 0 <<
        ==============================
        TEST FAILURE

        make[1]: *** [~/github/missa-prime/openjdk/jdk/make/Init.gmk:155: main] Error 1
        make: *** [~/github/missa-prime/openjdk/jdk/make/PreInit.gmk:159: test] Error 2

              Assignee:
              Jatin Bhateja
              Reporter:
              Mohamed Issa
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: