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

C2: missing skeleton predicates in peeled loop

XMLWordPrintable

    • b26

      Synopsis is provisional, feel free to change it as you see fit.

      The attached fuzzer test fails:

      $ build/linux-x86_64-server-fastdebug/images/jdk/bin/java -cp 0015/ -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressCCP -XX:+StressIGVN -Xcomp -XX:CompileOnly=Test -XX:-TieredCompilation -XX:StressSeed=95886967 Test

      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/gcm.cpp:276), pid=1065282, tid=1065295
      # assert(false) failed: unscheduable graph
      #
      # JRE version: OpenJDK Runtime Environment (19.0) (fastdebug build 19-internal-adhoc.shade.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 19-internal-adhoc.shade.jdk, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xdce852] assert_dom(Block*, Block*, Node*, PhaseCFG const*)+0x1c2

      It is semi-intermittent without StressSeed setting.

      Bisection points to JDK-8230382 as the first bad commit.

      Copied from JDK-8283460 (duplicate bug):
      Reopened as separate bug: JDK-8286638.

      $ build/linux-x86_64-server-fastdebug/images/jdk/bin/java -cp 0029/ -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN -Xcomp -XX:CompileOnly=Test -XX:-TieredCompilation Test
      CompileCommand: compileonly Test.* bool compileonly = true
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/gcm.cpp:766
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/opto/gcm.cpp:766), pid=3733508, tid=3733521
      # assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough
      #
      # JRE version: OpenJDK Runtime Environment (19.0) (fastdebug build 19-internal-adhoc.shade.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 19-internal-adhoc.shade.jdk, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xdd1fe5] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x18a5

      It is somewhat intermittent, and seems to rely on StressIGVN.

        1. Test.java
          9 kB
        2. hs_err_pid6767.log
          177 kB
        3. hs_err_pid6905.log
          178 kB
        4. FuzzerUtils.java
          13 kB
        5. 0015.zip
          45 kB
        6. 0029.zip
          43 kB
        7. Reduced0029.java
          0.4 kB
        8. Reduced0015.java
          0.5 kB
        9. ReduceX.java
          0.8 kB
        10. Test2.java
          12 kB
        11. Reduced0015_1.java
          0.6 kB
        12. Reduced0015_2.java
          1 kB

            epeter Emanuel Peter
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: