Assertion failure in ClearArray.java with -XX:+EnableX86EcoreOpts

XMLWordPrintable

    • b05
    • x86_64
    • generic

        The attached Test.java (which is the same as compiler.c2.ClearArray but renamed) fails with the assertion below when running with the following flags on an AVX512 machine:
        $ java -XX:+EnableX86ECoreOpts -XX:MaxVectorSize=8 -XX:UseAVX=3 Test.java

        Original report:

        Command Line: make test CONF=fast TEST=test/hotspot/jtreg/compiler/c2/ClearArray.java JTREG="JAVA_OPTIONS=-XX:UseAVX=2 -XX:+EnableX86ECoreOpts"

        System : Granite Rapids

        Assertion Failure:
        command: main -XX:+UnlockDiagnosticVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -Xbatch -XX:InitArrayShortSize=32768 -XX:MaxVectorSize=8 -XX:-IdealizeClearArrayNode -XX:UseAVX=3 compiler.c2.ClearArray
        reason: User specified action: run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -Xbatch -XX:InitArrayShortSize=32768 -XX:MaxVectorSize=8 -XX:-IdealizeClearArrayNode -XX:UseAVX=3 compiler.c2.ClearArray
        started: Tue Jan 06 05:34:11.183 UTC 2026
        Mode: othervm [/othervm specified]
        Process id: 3737516
        finished: Tue Jan 06 05:34:13.568 UTC 2026
        elapsed time (seconds): 2.385
        configuration:
        STDOUT:
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/jbhateja/sandboxes/jdk/src/hotspot/cpu/x86/macroAssembler_x86.hpp:114), pid=3737516, tid=3737519
        # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset at /home/jbhateja/sandboxes/jdk/src/hotspot/cpu/x86/macroAssembler_x86.cpp:5892
        #
        # JRE version: (27.0) (fastdebug build )
        # Java VM: OpenJDK 64-Bit Server VM (fastdebug 27-internal-adhoc.root.jdk, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
        # Problematic frame:
        # V [libjvm.so+0x7b8c8d] Label::patch_instructions(MacroAssembler*)+0x3bd
        #
        # Core dump will be written. Default location: Determined by the following: "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -F%F -- %E" (alternatively, falling back to /home/jbhateja/sandboxes/jdk/build/linux-x86_64-server-fastdebug/test-support/jtreg_test_hotspot_jtreg_compiler_c2_ClearArray_java/scratch/0/core.3737516)
        #
        # An error report file with more information is saved as:
        # /home/jbhateja/sandboxes/jdk/build/linux-x86_64-server-fastdebug/test-support/jtreg_test_hotspot_jtreg_compiler_c2_ClearArray_java/scratch/0/hs_err_pid3737516.log
        #
        #

        Stack: [0x00007fe21f9dd000,0x00007fe21fadd000], sp=0x00007fe21fad8e50, free space=1007k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x7540fd] Label::patch_instructions(MacroAssembler*)+0x3ad (macroAssembler_x86.hpp:114)
        V [libjvm.so+0x1640a18] MacroAssembler::generate_fill(BasicType, bool, Register, Register, Register, Register, XMMRegister)+0x8e8
        V [libjvm.so+0x1a7b257] StubGenerator::generate_fill(StubId)+0x107
        V [libjvm.so+0x1a8240b] StubGenerator::generate_arraycopy_stubs()+0x2bb
        V [libjvm.so+0x1a4fbe8] StubGenerator::generate_final_stubs()+0x28
        V [libjvm.so+0x1a51960] StubGenerator_generate(CodeBuffer*, BlobId)+0xb0
        V [libjvm.so+0x1ad2d52] initialize_stubs(BlobId, int, int, char const*, char const*, char const*) [clone .constprop.0]+0x242
        V [libjvm.so+0x1ad3578] final_stubs_init()+0x38
        V [libjvm.so+0x10730cd] init_globals2()+0x6d
        V [libjvm.so+0x1bbb4cf] Threads::create_vm(JavaVMInitArgs*, bool*)+0x3af
        V [libjvm.so+0x123ebe4] JNI_CreateJavaVM+0x54
        C [libjli.so+0x3e7f] JavaMain+0x8f
        C [libjli.so+0x8099] ThreadJavaMain+0x9

              Assignee:
              Volodymyr Paprotski
              Reporter:
              Jatin Bhateja
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: