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

C2: Partial peeling fails with assert "last_peel <- first_not_peeled"

    XMLWordPrintable

Details

    • b16

    Description

      java -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xbatch -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 Test.java

      # Internal Error (/workspace/open/src/hotspot/share/opto/loopopts.cpp:3773), pid=887808, tid=887834
      # assert(first_not_peeled->in(0) == last_peel) failed: last_peel <- first_not_peeled
      #
      # JRE version: Java(TM) SE Runtime Environment (22.0+27) (fastdebug build 22-ea+27-2172)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-ea+27-2172, mixed mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x12b3be1] PhaseIdealLoop::partial_peel(IdealLoopTree*, Node_List&)+0x1f51


      Current CompileTask:
      C2:311 1 % !b Test::iMeth @ 62 (1708 bytes)

      Stack: [0x00007fc68c431000,0x00007fc68c531000], sp=0x00007fc68c52ba00, free space=1002k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x12b3be1] PhaseIdealLoop::partial_peel(IdealLoopTree*, Node_List&)+0x1f51 (loopopts.cpp:3773)
      V [libjvm.so+0x126c5fe] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x18e (loopTransform.cpp:3609)
      V [libjvm.so+0x126cbbe] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17e (loopTransform.cpp:3749)
      V [libjvm.so+0x1299628] PhaseIdealLoop::build_and_optimize()+0xdf8 (loopnode.cpp:4621)
      V [libjvm.so+0x9f0828] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x388 (loopnode.hpp:1112)
      V [libjvm.so+0x9eb3d3] Compile::Optimize()+0x4c3 (compile.cpp:2372)
      V [libjvm.so+0x9ef2c4] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1b44 (compile.cpp:857)
      V [libjvm.so+0x83dd27] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1e7 (c2compiler.cpp:134)
      V [libjvm.so+0x9fab2c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x92c (compileBroker.cpp:2299)
      V [libjvm.so+0x9fb7b8] CompileBroker::compiler_thread_loop()+0x468 (compileBroker.cpp:1958)
      V [libjvm.so+0xeb2cec] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:720)
      V [libjvm.so+0x178cbe6] Thread::call_run()+0xb6 (thread.cpp:220)
      V [libjvm.so+0x1496e57] thread_native_entry(Thread*)+0x127 (os_linux.cpp:787)

      Attachments

        1. FuzzerUtils.java
          13 kB
        2. hs_err_pid2353161.log
          66 kB
        3. replay_pid2353161.log
          130 kB
        4. Test.java
          16 kB
        5. TestSimple.java
          2 kB

        Issue Links

          Activity

            People

              roland Roland Westrelin
              thartmann Tobias Hartmann
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: