Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Scala 2.11.0-M3
    • Component/s: None
    • Labels:
      None

      Description

      Driving me bonkers, keep failing to open. Does nobody use -Ydebug?

      % scalac ./src/library/scala/collection/parallel/ParMapLike.scala  -Ydebug
      ...
      [running phase icode on ParMapLike.scala]
      The last instruction is not a control flow instruction: PJUMP method matchEnd5
      	at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:51)
      	at scala.tools.nsc.Global.abort(Global.scala:251)
      	at scala.tools.nsc.backend.icode.ICodes.dumpClassesAndAbort(ICodes.scala:61)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock.directSuccessors(BasicBlocks.scala:488)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock$SuccessorList.updateConserve(BasicBlocks.scala:50)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock$SuccessorList.updateSuccs(BasicBlocks.scala:104)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock.successors(BasicBlocks.scala:472)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock$$anonfun$predecessors$1.apply(BasicBlocks.scala:496)
      	at scala.tools.nsc.backend.icode.BasicBlocks$BasicBlock$$anonfun$predecessors$1.apply(BasicBlocks.scala:496)
      

        Activity

        Hide
        Paul Phillips added a comment -

        Regressed in b50a0d811f, hello J. Iry.

         commit b50a0d811f
         Author: James Iry <jamesiry@gmail.com>
         Date:   8 weeks ago
         
             SI-7006 Prevent unreachable blocks in GenICode
        
             This commit makes GenICode prevent the generation of
             most unreachable blocks. The new unreachable block prevention code can
             be disabled with a compiler flag. ...
        
        Show
        Paul Phillips added a comment - Regressed in b50a0d811f, hello J. Iry. commit b50a0d811f Author: James Iry <jamesiry@gmail.com> Date: 8 weeks ago SI-7006 Prevent unreachable blocks in GenICode This commit makes GenICode prevent the generation of most unreachable blocks. The new unreachable block prevention code can be disabled with a compiler flag. ...
        Hide
        Paul Phillips added a comment -

        If it isn't easy to fix, just not crashing -Ydebug would be great.

        Show
        Paul Phillips added a comment - If it isn't easy to fix, just not crashing -Ydebug would be great.
        Hide
        Paul Phillips added a comment -

        I guess I will be fixing this myself.

        Show
        Paul Phillips added a comment - I guess I will be fixing this myself.
        Hide
        Paul Phillips added a comment -

        In case there was any question, here's a repro. It doesn't take much.

        trait Bippy { 3 match { case 3 => } }
        

        It crashes with -Ydebug by itself; compiles with no options, or with -Ydebug -Ydisable-unreachable-prevention.

        Show
        Paul Phillips added a comment - In case there was any question, here's a repro. It doesn't take much. trait Bippy { 3 match { case 3 => } } It crashes with -Ydebug by itself; compiles with no options, or with -Ydebug -Ydisable-unreachable-prevention.
        Hide
        Paul Phillips added a comment -

        16e92f48e7b07

        (Whatever the underlying issue is remains, but the crash is now a warning.)

        Show
        Paul Phillips added a comment - 16e92f48e7b07 (Whatever the underlying issue is remains, but the crash is now a warning.)

          People

          • Assignee:
            Paul Phillips
            Reporter:
            Paul Phillips
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development