C2 VectorAPI: assert(vbox->as_Phi()->region() == vect->as_Phi()->region()) failed

XMLWordPrintable

      Found while working on JDK-8369699.


      Reproduces like this, tested on AVX2 and AVX512:

      java -XX:CompileCommand=compileonly,Test::test -XX:CompileCommand=printcompilation,Test::* -Xbatch Test.java
      CompileCommand: compileonly Test.test bool compileonly = true
      CompileCommand: PrintCompilation Test.* bool PrintCompilation = true
      2500 137 b 3 Test::test (52 bytes)
      2643 138 b 4 Test::test (52 bytes)
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/empeter/Documents/oracle/jdk-fork3/open/src/hotspot/share/opto/vector.cpp:338), pid=2221164, tid=2221179
      # Error: assert(vbox->as_Phi()->region() == vect->as_Phi()->region()) failed
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0) (fastdebug build 27-internal-empeter.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 27-internal-empeter.open, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1c3417b] PhaseVector::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*, VectorSet&)+0x46b
      #
      # Core dump will be written. Default location: Determined by the following: "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %d %F" (alternatively, falling back to /home/empeter/Documents/oracle/jdk-fork3/build/linux-x64-debug/jdk/bin/core.2221164)
      #
      # An error report file with more information is saved as:
      # /home/empeter/Documents/oracle/jdk-fork3/build/linux-x64-debug/jdk/bin/hs_err_pid2221164.log
      #
      # Compiler replay data is saved as:
      # /home/empeter/Documents/oracle/jdk-fork3/build/linux-x64-debug/jdk/bin/replay_pid2221164.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp



      --------------- S U M M A R Y ------------

      Command Line: -XX:CompileCommand=compileonly,Test::test -XX:CompileCommand=printcompilation,Test::* -Xbatch --add-modules=ALL-DEFAULT jdk.compiler/com.sun.tools.javac.launcher.SourceLauncher Test.java

      Host: emanuel.peter, 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz, 16 cores, 29G, Oracle Linux Server release 9.7
      Time: Fri Jan 9 16:14:30 2026 CET elapsed time: 2.654949 seconds (0d 0h 0m 2s)

      --------------- T H R E A D ---------------

      Current thread (0x00007f18181d6d70): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=2221179, stack(0x00007f17fc652000,0x00007f17fc752000) (1024K)]


      Current CompileTask:
      C2:2654 138 b 4 Test::test (52 bytes)

      Stack: [0x00007f17fc652000,0x00007f17fc752000], sp=0x00007f17fc74cf40, free space=1003k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1c3417b] PhaseVector::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*, VectorSet&)+0x46b (vector.cpp:338)
      V [libjvm.so+0x1c342c9] PhaseVector::expand_vbox_node(VectorBoxNode*)+0x89 (vector.cpp:303)
      V [libjvm.so+0x1c345eb] PhaseVector::expand_vbox_nodes()+0x16b (vector.cpp:112)
      V [libjvm.so+0x1c3615d] PhaseVector::optimize_vector_boxes()+0x10d (vector.cpp:56)
      V [libjvm.so+0xbb2f4b] Compile::Optimize()+0x1c3b (compile.cpp:2383)
      V [libjvm.so+0xbb5173] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x2023 (compile.cpp:862)
      V [libjvm.so+0x9cc3e8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x498 (c2compiler.cpp:147)
      V [libjvm.so+0xbc4660] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780 (compileBroker.cpp:2345)
      V [libjvm.so+0xbc5ec0] CompileBroker::compiler_thread_loop()+0x530 (compileBroker.cpp:1989)
      V [libjvm.so+0x112635b] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:776)
      V [libjvm.so+0x1bb26f6] Thread::call_run()+0xb6 (thread.cpp:242)
      V [libjvm.so+0x18082d8] thread_native_entry(Thread*)+0x118 (os_linux.cpp:860)

        1. hs_err_pid2221164.log
          80 kB
        2. replay_pid2221164.log
          366 kB
        3. Test.java
          0.6 kB

            Assignee:
            Unassigned
            Reporter:
            Emanuel Peter
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: