[lworld] C2 asserts with "excessive live node increase in single iteration of IGVN"

XMLWordPrintable

      Attached Test.java is a simplified version of a larger test that I wrote for JDK-8228361.

      java --enable-preview -XX:+AlwaysIncrementalInline -XX:-UseArrayFlattening -XX:-UseFieldFlattening -Xbatch -XX:CompileCommand=compileonly,Test::init -cp . Test

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle/valhalla/open/src/hotspot/share/opto/phaseX.cpp:1059), pid=2372969, tid=2372984
      # assert(increase < max_live_nodes_increase_per_iteration) failed: excessive live node increase in single iteration of IGVN: 6162 (should be at most 6000)
      #
      # JRE version: Java(TM) SE Runtime Environment (26.0) (fastdebug build 26-jep401ea2-tohartma.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-jep401ea2-tohartma.open, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1963399] PhaseIterGVN::optimize()+0x349

      Current CompileTask:
      C2:2790 31 b 4 Test::init (60 bytes)

      Stack: [0x00007fd0d18fa000,0x00007fd0d19fa000], sp=0x00007fd0d19f5040, free space=1004k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1963399] PhaseIterGVN::optimize()+0x349 (phaseX.cpp:1059)
      V [libjvm.so+0xc12eeb] Compile::Optimize()+0x69b (compile.cpp:2961)
      V [libjvm.so+0xc165d5] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1d95 (compile.cpp:879)
      V [libjvm.so+0xa0bbf0] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x4c0 (c2compiler.cpp:149)
      V [libjvm.so+0xc25ea0] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x780 (compileBroker.cpp:2345)
      V [libjvm.so+0xc27700] CompileBroker::compiler_thread_loop()+0x530 (compileBroker.cpp:1989)
      V [libjvm.so+0x11c79bb] JavaThread::thread_main_inner()+0x13b (javaThread.cpp:777)
      V [libjvm.so+0x1ca31f6] Thread::call_run()+0xb6 (thread.cpp:242)
      V [libjvm.so+0x18c0838] thread_native_entry(Thread*)+0x118 (os_linux.cpp:877)

      This also triggers with compiler.valhalla.inlinetypes.TestLWorld::<clinit>

            Assignee:
            Unassigned
            Reporter:
            Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: