[lworld] C2: Compiler replay fails when run with --enable-preview with "assert(props != ArrayKlass::INVALID) failed: meaningless"

XMLWordPrintable

      To reproduce:
      1. javac --enable-preview --source 27 Test.java
      2. java -XX:+ReplayCompiles -XX:+ReplayIgnoreInitErrors -XX:ReplayDataFile=replay.log --enable-preview

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (open/src/hotspot/share/ci/ciArrayKlass.cpp:124), pid=1273710, tid=1273719
      # assert(props != ArrayKlass::INVALID) failed: meaningless
      #
      # JRE version: Java(TM) SE Runtime Environment (27.0) (slowdebug build 27-jep401ea2-chagedor.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 27-jep401ea2-chagedor.open, mixed mode, tiered, compressed oops, compressed class ptrs, serial gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x9ee112] ciArrayKlass::is_elem_null_free() const+0x4e
      .................
      Command Line: -XX:+ReplayCompiles -XX:+ReplayIgnoreInitErrors -XX:ReplayDataFile=rr.log --enable-preview
      .................
      Current CompileTask:
      C2:2933 119 b 4 Test::test (16 bytes)

      Stack: [0x00007fe55a700000,0x00007fe55a800000], sp=0x00007fe55a7fbfd0, free space=1007k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x9ee112] ciArrayKlass::is_elem_null_free() const+0x4e (ciArrayKlass.cpp:124)
      V [libjvm.so+0xa0eaa2] ciMethod::array_access_profiled_type(int, ciKlass*&, ciKlass*&, ProfilePtrKind&, bool&, bool&)+0x1a0 (ciMethod.cpp:680)
      V [libjvm.so+0x16dd919] Parse::cast_to_speculative_array_type(Node*, TypeAryPtr const*&, Type const*&)+0x127 (parse2.cpp:482)
      V [libjvm.so+0x16dd6dc] Parse::create_speculative_inline_type_array_checks(Node*, TypeAryPtr const*, Type const*&)+0x80 (parse2.cpp:449)
      V [libjvm.so+0x16dd16b] Parse::array_addressing(BasicType, int, Type const*&)+0x253 (parse2.cpp:369)
      V [libjvm.so+0x16db398] Parse::array_load(BasicType)+0x64 (parse2.cpp:78)
      V [libjvm.so+0x16ea242] Parse::do_one_bytecode()+0x12da (parse2.cpp:3034)
      V [libjvm.so+0x16d4670] Parse::do_one_block()+0x6e8 (parse1.cpp:1714)
      V [libjvm.so+0x16cf5d2] Parse::do_all_blocks()+0x42a (parse1.cpp:771)
      V [libjvm.so+0x16cf0a1] Parse::Parse(JVMState*, ciMethod*, float)+0x152f (parse1.cpp:675)
      V [libjvm.so+0x97cbd7] ParseGenerator::generate(JVMState*)+0x187 (callGenerator.cpp:99)
      V [libjvm.so+0xaea2c8] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x142e (compile.cpp:831)
      V [libjvm.so+0x979ef0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x4bc (c2compiler.cpp:149)
      V [libjvm.so+0xb18231] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xe01 (compileBroker.cpp:2345)
      V [libjvm.so+0xb1662a] CompileBroker::compiler_thread_loop()+0x594 (compileBroker.cpp:1989)
      V [libjvm.so+0xb39b37] CompilerThread::thread_entry(JavaThread*, JavaThread*)+0x89 (compilerThread.cpp:69)
      V [libjvm.so+0x106bd68] JavaThread::thread_main_inner()+0x1d2 (javaThread.cpp:777)
      V [libjvm.so+0x106bb93] JavaThread::run()+0x1e3 (javaThread.cpp:762)
      V [libjvm.so+0x19ccd6f] Thread::call_run()+0x1b9 (thread.cpp:242)
      V [libjvm.so+0x168910f] thread_native_entry(Thread*)+0x1b9 (os_linux.cpp:860)

        1. Test.java
          0.4 kB
        2. replay.log
          316 kB

            Assignee:
            Christian Hagedorn
            Reporter:
            Christian Hagedorn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: