I still have the thread dump. Notice that 3 threads have interesting stacks: Scala Presentation, Java Reconciler and the main thread. The main thread does not seem to have any stack entry that comes from the SDT, though. Here's the full thread dump. Miles, should I file a bug report? This is not the only stack configuration I noticed, but invariably the main thread is blocked (I assume the main thread is the UI?).
Full thread dump Java HotSpot(TM) Client VM (16.3-b01-279 mixed mode):
"Worker-6" prio=5 tid=00000000136afc00 nid=0xb163e000 in Object.wait() [00000000b163d000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <00000000182f0530> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)
"Scala Presentation Compiler" prio=6 tid=00000000136c1400 nid=0xb1338000 runnable [00000000b1327000]
java.lang.Thread.State: RUNNABLE
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:391)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:178)
at scala.reflect.generic.Symbols$AbsSymbol.fullName(Symbols.scala:39)
at scala.reflect.generic.Symbols$AbsSymbol.fullName(Symbols.scala:47)
at scala.tools.eclipse.ScalaPresentationCompiler$EclipseTyperRun.addImport$1(ScalaPresentationCompiler.scala:122)
at scala.tools.eclipse.ScalaPresentationCompiler$EclipseTyperRun$$anonfun$compileSourceFor$1.apply(ScalaPresentationCompiler.scala:128)
at scala.tools.eclipse.ScalaPresentationCompiler$EclipseTyperRun$$anonfun$compileSourceFor$1.apply(ScalaPresentationCompiler.scala:128)
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:81)
at scala.collection.immutable.List.exists(List.scala:45)
at scala.tools.eclipse.ScalaPresentationCompiler$EclipseTyperRun.compileSourceFor(ScalaPresentationCompiler.scala:128)
at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:3561)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3996)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2141)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2151)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2150)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
at scala.collection.immutable.List.map(List.scala:45)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2150)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2350)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:699)
at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3298)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3924)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:4145)
at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:4151)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3964)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4139)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4215)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1174)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:517)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:515)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1338)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1336)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:743)
at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:855)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3720)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1889)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3769)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2141)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2151)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2150)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
at scala.collection.immutable.List.map(List.scala:45)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2150)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2350)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3300)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3924)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4139)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4215)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1174)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:517)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:515)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1338)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1336)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:743)
at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:855)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3720)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1889)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3769)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.transformedOrTyped(Typers.scala:4222)
at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1747)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3742)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3762)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1507)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1283)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3733)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1889)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3769)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4139)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4215)
at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:926)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1163)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:517)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:515)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1338)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1336)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:743)
at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:855)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3720)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.collection.immutable.List.loop$1(List.scala:119)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1507)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1283)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3733)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3762)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3729)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2067)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$20.apply(Typers.scala:2135)
at scala.collection.immutable.List.loop$1(List.scala:115)
at scala.collection.immutable.List.mapConserve(List.scala:132)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2135)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3729)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4126)
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:85)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:276)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:276)
at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:48)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:276)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1$$anonfun$apply$mcV$sp$1.apply(Global.scala:530)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1$$anonfun$apply$mcV$sp$1.apply(Global.scala:530)
at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:103)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1.apply(Global.scala:530)
at scala.tools.nsc.interactive.Global$TyperRun$$anonfun$applyPhase$1.apply(Global.scala:530)
at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:48)
at scala.tools.nsc.interactive.Global$TyperRun.applyPhase(Global.scala:529)
at scala.tools.nsc.interactive.Global$TyperRun.typeCheck(Global.scala:483)
at scala.tools.nsc.interactive.Global$TyperRun.typedTree(Global.scala:520)
at scala.tools.nsc.interactive.Global.typedTree(Global.scala:321)
at scala.tools.nsc.interactive.Global$$anonfun$getTypedTree$1.apply(Global.scala:331)
at scala.tools.nsc.interactive.Global$$anonfun$getTypedTree$1.apply(Global.scala:331)
at scala.tools.nsc.interactive.Global.respond(Global.scala:276)
at scala.tools.nsc.interactive.Global.getTypedTree(Global.scala:331)
at scala.tools.nsc.interactive.CompilerControl$$anon$3.apply$mcV$sp(CompilerControl.scala:95)
at scala.tools.nsc.interactive.Global.pollForWork(Global.scala:132)
at scala.tools.nsc.interactive.Global$$anon$2.run(Global.scala:192)
"Worker-5" prio=5 tid=0000000013b2d400 nid=0xb1c4a000 in Object.wait() [00000000b1c49000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <00000000182f0530> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)
"Worker-4" prio=5 tid=0000000013235400 nid=0xb153c000 in Object.wait() [00000000b153b000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <00000000182f0530> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)
"Worker-3" prio=5 tid=00000000138c1000 nid=0xb1b48000 in Object.wait() [00000000b1b47000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
- locked <00000000182f0530> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=1 tid=00000000131b5800 nid=0xb1a46000 in Object.wait() [00000000b1a45000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at scala.concurrent.SyncVar.get(SyncVar.scala:25)
- locked <000000002bfbfd50> (a scala.concurrent.SyncVar)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult$$anon$3.<init>(ScalaPresentationCompiler.scala:76)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.create(ScalaPresentationCompiler.scala:70)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.create(ScalaPresentationCompiler.scala:67)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:44)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.apply(ScalaPresentationCompiler.scala:67)
at scala.tools.eclipse.ScalaPresentationCompiler.withCompilerResult(ScalaPresentationCompiler.scala:90)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:368)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:367)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply$mcV$sp(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:39)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:363)
at scala.tools.eclipse.ScalaProject.withCompilerResult(ScalaProject.scala:367)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$withCompilerResult$1.apply(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withDocument(ScalaCompilationUnit.scala:41)
- locked <000000001a209448> (a java.lang.Object)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withDocument(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withCompilerResult(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withCompilerResult(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.buildStructure(ScalaCompilationUnit.scala:91)
at scala.tools.eclipse.javaelements.ScalaSourceFile.buildStructure(ScalaSourceFile.scala:40)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
at scala.tools.eclipse.javaelements.ScalaSourceFile.makeConsistent(ScalaSourceFile.scala:65)
at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:170)
at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1244)
at scala.tools.eclipse.javaelements.ScalaSourceFile.reconcile(ScalaSourceFile.scala:55)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87)
at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:151)
at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86)
at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:102)
at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)
"[ThreadPool Manager] - Idle Thread" daemon prio=5 tid=0000000013ecc400 nid=0xb1944000 in Object.wait() [00000000b1943000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
- locked <000000001d2490f0> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
"Java indexing" daemon prio=4 tid=0000000013245400 nid=0xb1740000 in Object.wait() [00000000b173f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:381)
- locked <000000001a9e2048> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Thread.java:637)
"[Timer] - Main Queue Handler" daemon prio=5 tid=000000001311c400 nid=0xb143a000 in Object.wait() [00000000b1439000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
- locked <000000001831a4f8> (a java.lang.Object)
at java.lang.Thread.run(Thread.java:637)
"Framework Event Dispatcher" daemon prio=5 tid=0000000013103000 nid=0xb1236000 in Object.wait() [00000000b1235000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <0000000018301670> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"Start Level Event Dispatcher" daemon prio=5 tid=0000000013927400 nid=0xb1134000 in Object.wait() [00000000b1133000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <00000000181e6048> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <00000000181e6048> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"Bundle File Closer" daemon prio=5 tid=00000000130fa400 nid=0xb1032000 in Object.wait() [00000000b1031000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
- locked <00000000180dc620> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)
"State Data Manager" daemon prio=5 tid=00000000130f9c00 nid=0xb0f30000 waiting on condition [00000000b0f2f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:306)
at java.lang.Thread.run(Thread.java:637)
"Poller SunPKCS11-Darwin" daemon prio=1 tid=00000000130dc000 nid=0xb0e25000 waiting on condition [00000000b0e24000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692)
at java.lang.Thread.run(Thread.java:637)
"Low Memory Detector" daemon prio=5 tid=00000000130bac00 nid=0xb0c21000 runnable [0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=9 tid=00000000130b9c00 nid=0xb0b17000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=9 tid=00000000130b9000 nid=0xb0a15000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Surrogate Locker Thread (CMS)" daemon prio=5 tid=00000000130b8000 nid=0xb0913000 waiting on condition [0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=00000000130aa400 nid=0xb0811000 in Object.wait() [00000000b0810000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0000000018010020> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=00000000130a9800 nid=0xb070f000 in Object.wait() [00000000b070e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0000000018013020> (a java.lang.ref.Reference$Lock)
"main" prio=6 tid=0000000013000800 nid=0xa0ac2500 waiting for monitor entry [00000000bfff9000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.eclipse.core.internal.filebuffers.SynchronizableDocument.get(SynchronizableDocument.java:139)
- waiting to lock <000000001a209448> (a java.lang.Object)
at org.eclipse.jface.text.projection.ProjectionTextStore.get(ProjectionTextStore.java:148)
at org.eclipse.jface.text.AbstractDocument.get(AbstractDocument.java:1005)
at org.eclipse.jface.text.DefaultDocumentAdapter.doGetLine(DefaultDocumentAdapter.java:150)
at org.eclipse.jface.text.DefaultDocumentAdapter.getLine(DefaultDocumentAdapter.java:173)
at org.eclipse.swt.custom.StyledTextRenderer.drawLine(StyledTextRenderer.java:356)
at org.eclipse.swt.custom.StyledText.handlePaint(StyledText.java:5965)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5547)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3543)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Control.drawWidget(Control.java:1079)
at org.eclipse.swt.widgets.Canvas.drawWidget(Canvas.java:158)
at org.eclipse.swt.widgets.Widget.drawRect(Widget.java:589)
at org.eclipse.swt.widgets.Canvas.drawRect(Canvas.java:153)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4635)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4188)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4386)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:75)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3094)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)