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

IGV: scheduling crashes on non-block-start Region with multiple predecessors

    XMLWordPrintable

    Details

    • Subcomponent:
    • Introduced In Version:
      19
    • Resolved In Build:
      b25

      Description

      IGV scheduling crashes when breaking critical edges that target Region nodes not marked with the 'is_block_start' property (such as node 137 in the attached image, where 108 -> 137 is a critical edge). In this case, ServerCompilerScheduler.buildBlocks() fails to create a dedicated block for breaking the critical edge, which leads to ServerCompilerScheduler.scheduleBlock() failing to schedule the ill-formed Region nodes and, finally, to an assertion failure.

      HOW TO REPRODUCE

      Unzip and open failure.zip (attached) in IGV. The following failure is printed to .igv.log:

      [INFO] java.lang.AssertionError
      [INFO] at com.sun.hotspot.igv.servercompiler.ServerCompilerScheduler.scheduleBlock(ServerCompilerScheduler.java:448)
      [INFO] at com.sun.hotspot.igv.servercompiler.ServerCompilerScheduler.scheduleLocal(ServerCompilerScheduler.java:389)
      [INFO] at com.sun.hotspot.igv.servercompiler.ServerCompilerScheduler.schedule(ServerCompilerScheduler.java:350)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              rcastanedalo Roberto Castaneda Lozano
              Reporter:
              rcastanedalo Roberto Castaneda Lozano
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: