Scala Programming Language
  1. Scala Programming Language
  2. SI-7221

StackOverflow error in the presentation compiler

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Scala 2.9.3, Scala 2.10.1-RC3, Scala 2.10.1
    • Fix Version/s: Scala 2.11.0-M8
    • Component/s: Presentation Compiler
    • Labels:
      None

      Description

      The presentation compiler may recurse too much in `pollForWork`. This may happen if a lot of `ask` calls (interrupts) are queued, and the PC thread needs to service all of them before going further.

      See #1001407.

      java.lang.StackOverflowError
      	at scala.reflect.internal.Symbols$Symbol.nameString(Symbols.scala:2318)
      	at scala.tools.refactoring.common.PimpedTrees$TreeMethodsForPositions.nameString(PimpedTrees.scala:319)
      	at scala.tools.refactoring.common.PimpedTrees$TreeMethodsForPositions.namePosition(PimpedTrees.scala:224)
      	at scala.tools.eclipse.semantichighlighting.classifier.SafeSymbol$$anonfun$5.apply(SafeSymbol.scala:111)
      	at scala.tools.eclipse.semantichighlighting.classifier.SafeSymbol$$anonfun$5.apply(SafeSymbol.scala:111)
      	at scala.tools.nsc.util.InterruptReq.execute(InterruptReq.scala:26)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:340)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      	at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:345)
      ...
      

        Activity

        Show
        François Garillot added a comment - https://github.com/scala/scala/pull/3154

          People

          • Assignee:
            François Garillot
            Reporter:
            Iulian Dragos
          • Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development