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

[lworld] Parse::array_load fails with "array can't be flat" assert

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • repo-valhalla
    • repo-valhalla
    • hotspot

      javac --enable-preview --source 25 --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED Test.java

      java --enable-preview --add-exports java.base/jdk.internal.value=ALL-UNNAMED --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED -XX:CompileOnly=Test*::test -cp . -Xbatch -XX:CompileCommand=quiet -XX:-TieredCompilation -XX:+UseAtomicValueFlattening Test


      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle/valhalla/open/src/hotspot/share/opto/parse2.cpp:87), pid=4045056, tid=4045070
      # assert(UseArrayFlattening && is_reference_type(bt) && element_ptr->can_be_inline_type() && (!element_ptr->is_inlinetypeptr() || element_ptr->inline_klass()->flat_in_array())) failed: array can't be flat
      #
      # JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-lworld5ea-LTS-2025-04-22-0723438.tobias...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-lworld5ea-LTS-2025-04-22-0723438.tobias..., mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x179ff1c] Parse::array_load(BasicType)+0x8ac
      #

      Current CompileTask:
      C2:239 29 b Test::test (17 bytes)

      Stack: [0x00007a01b4200000,0x00007a01b4300000], sp=0x00007a01b42fc3f0, free space=1008k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x179ff1c] Parse::array_load(BasicType)+0x8ac (parse2.cpp:87)
      V [libjvm.so+0x17b10b9] Parse::do_one_bytecode()+0x2b29 (parse2.cpp:2978)
      V [libjvm.so+0x179696d] Parse::do_one_block()+0x35d (parse1.cpp:1664)
      V [libjvm.so+0x1797bd5] Parse::do_all_blocks()+0x135 (parse1.cpp:754)
      V [libjvm.so+0x179b5ed] Parse::Parse(JVMState*, ciMethod*, float)+0xedd (parse1.cpp:658)
      V [libjvm.so+0x951fd5] ParseGenerator::generate(JVMState*)+0x135 (callGenerator.cpp:98)
      V [libjvm.so+0xb289f6] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x18b6 (compile.cpp:819)
      V [libjvm.so+0x94eb7d] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x46d (c2compiler.cpp:142)
      V [libjvm.so+0xb37e32] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb22 (compileBroker.cpp:2307)
      V [libjvm.so+0xb38e38] CompileBroker::compiler_thread_loop()+0x588 (compileBroker.cpp:1951)
      V [libjvm.so+0x1092c4f] JavaThread::thread_main_inner()+0x12f (javaThread.cpp:773)
      V [libjvm.so+0x1ac1616] Thread::call_run()+0xb6 (thread.cpp:231)
      V [libjvm.so+0x1747498] thread_native_entry(Thread*)+0x128 (os_linux.cpp:877)

        1. Test.java
          0.5 kB
          Tobias Hartmann

            qamai Quan Anh Mai
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: