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

C2 AArch64 ROR/ROL: assert((1 << ((T>>1)+3)) > shift) failed: Invalid Shift value

XMLWordPrintable

    • b05
    • b16
    • aarch64

      Found with Template Framework JDK-8344942.

      Hits assert in debug. Not sure if product is affected, it seems to run correctly in my examples, but needs more investigation when fixing the bug.

      The code shape is extremely simple:

          public static IntVector test() {
              IntVector iv1 = IntVector.zero(IntVector.SPECIES_128);
              return iv1.lanewise(VectorOperators.ROR, iv1);
          }

      This does not just happen with ROR, but also ROL.

      jdk-25-ea+9/fastdebug/bin/java --add-modules=jdk.incubator.vector -Xbatch Test.java

      WARNING: Using incubator modules: jdk.incubator.vector
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (src/hotspot/cpu/aarch64/assembler_aarch64.hpp:2981), pid=1002125, tid=1002143
      # assert((1 << ((T>>1)+3)) > shift) failed: Invalid Shift value
      #
      # JRE version: Java(TM) SE Runtime Environment (25.0+9) (fastdebug build 25-ea+9-LTS-963)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+9-LTS-963, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
      # Problematic frame:
      # V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c
      #
      # Core dump will be written. Default location: /scratch/empeter/core.1002125
      #
      # An error report file with more information is saved as:
      # .../hs_err_pid1002125.log
      #
      # Compiler replay data is saved as:
      # .../replay_pid1002125.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      Aborted (core dumped)


      Current CompileTask:
      C2:6013 1696 b 4 Test::test (16 bytes)

      Stack: [0x0000fffcc4860000,0x0000fffcc4a60000], sp=0x0000fffcc4a5b3b0, free space=2028k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x41fa9c] Assembler::shl(FloatRegister, Assembler::SIMD_Arrangement, FloatRegister, int)+0x12c (assembler_aarch64.hpp:2981)
      V [libjvm.so+0x1375428] PhaseOutput::scratch_emit_size(Node const*)+0x288
      V [libjvm.so+0x136e368] PhaseOutput::shorten_branches(unsigned int*)+0x2a8
      V [libjvm.so+0x137ec90] PhaseOutput::Output()+0x970
      V [libjvm.so+0x8eec44] Compile::Code_Gen()+0x4c0
      V [libjvm.so+0x8f0f40] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15ac
      V [libjvm.so+0x744db0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x17c
      V [libjvm.so+0x8fdb34] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x864
      V [libjvm.so+0x8fe74c] CompileBroker::compiler_thread_loop()+0x57c
      V [libjvm.so+0xd794c4] JavaThread::thread_main_inner()+0xe4
      V [libjvm.so+0x1623d40] Thread::call_run()+0xac
      V [libjvm.so+0x1355774] thread_native_entry(Thread*)+0x130
      C [libpthread.so.0+0x7950] start_thread+0x190

        1. hs_err_pid1002125.log
          86 kB
        2. replay_pid1002125.log
          315 kB
        3. Test.java
          0.4 kB

            xgong Xiaohong Gong
            epeter Emanuel Peter
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: