Closed scabug closed 9 years ago
Imported From: https://issues.scala-lang.org/browse/SI-8502?orig=1 Reporter: @retronym Affected Versions: 2.10.3
@retronym said: Let's clean up the ad-hoc crash-reporting code in Erasure while we're at it.
@retronym said: I think the minimization wasn't quite spot on. This was the place reported error:
~/code/scala scalac-hash v2.10.3 -classpath $HOME/.ivy2/cache/io.spray/spray-httpx/jars/spray-httpx-1.2-RC1.jar:$HOME/.ivy2/cache/io.spray/spray-http/jars/spray-http-1.2-RC1.jar sandbox/c.scala
error: bad symbolic reference. A signature in TransformerPipelineSupport.class refers to term akka
in package <root> which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling TransformerPipelineSupport.class.
exception when typing spray.httpx.RequestBuilding/class scala.reflect.internal.Trees$Select
bad symbolic reference. A signature in TransformerPipelineSupport.class refers to term event
in value akka which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling TransformerPipelineSupport.class. in file sandbox/c.scala
scala.reflect.internal.Types$TypeError: bad symbolic reference. A signature in TransformerPipelineSupport.class refers to term event
in value akka which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling TransformerPipelineSupport.class.
at scala.reflect.internal.pickling.UnPickler$Scan.toTypeError(UnPickler.scala:847)
at scala.reflect.internal.pickling.UnPickler$Scan$LazyTypeRef.complete(UnPickler.scala:854)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1229)
at scala.reflect.internal.Types$TypeMap$$anonfun$noChangeToSymbols$1.apply(Types.scala:4280)
at scala.reflect.internal.Types$TypeMap$$anonfun$noChangeToSymbols$1.apply(Types.scala:4280)
at scala.collection.LinearSeqOptimized$class.forall(LinearSeqOptimized.scala:70)
at scala.collection.immutable.List.forall(List.scala:84)
at scala.reflect.internal.Types$TypeMap.noChangeToSymbols(Types.scala:4280)
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4293)
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4196)
at scala.reflect.internal.transform.UnCurry$$anon$2.apply(UnCurry.scala:42)
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4202)
at scala.reflect.internal.transform.UnCurry$$anon$2.apply(UnCurry.scala:42)
at scala.reflect.internal.transform.UnCurry$class.transformInfo(UnCurry.scala:69)
at scala.tools.nsc.transform.UnCurry.transformInfo(UnCurry.scala:46)
at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:1312)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1239)
at scala.tools.nsc.transform.SpecializeTypes.specializedParams(SpecializeTypes.scala:269)
at scala.tools.nsc.transform.SpecializeTypes.scala$tools$nsc$transform$SpecializeTypes$$normalizeMember(SpecializeTypes.scala:805)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$22.apply(SpecializeTypes.scala:751)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$22.apply(SpecializeTypes.scala:749)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
at scala.tools.nsc.transform.SpecializeTypes.specializeClass(SpecializeTypes.scala:749)
at scala.tools.nsc.transform.SpecializeTypes.transformInfo(SpecializeTypes.scala:1172)
at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:1312)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1239)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1$$anonfun$apply$36.apply(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1$$anonfun$apply$36.apply(SpecializeTypes.scala:1164)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1.apply(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1.apply(SpecializeTypes.scala:1164)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at scala.tools.nsc.transform.SpecializeTypes.transformInfo(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:1312)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1239)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1$$anonfun$apply$36.apply(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1$$anonfun$apply$36.apply(SpecializeTypes.scala:1164)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1.apply(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.SpecializeTypes$$anonfun$transformInfo$1.apply(SpecializeTypes.scala:1164)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at scala.tools.nsc.transform.SpecializeTypes.transformInfo(SpecializeTypes.scala:1164)
at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:1312)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1239)
at scala.reflect.internal.Symbols$Symbol.isDerivedValueClass(Symbols.scala:658)
at scala.reflect.internal.transform.Erasure$ErasureMap.apply(Erasure.scala:131)
at scala.reflect.internal.transform.Erasure$class.specialErasure(Erasure.scala:205)
at scala.tools.nsc.transform.Erasure.specialErasure(Erasure.scala:14)
at scala.reflect.internal.transform.Erasure$class.transformInfo(Erasure.scala:380)
at scala.tools.nsc.transform.Erasure.transformInfo(Erasure.scala:329)
at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38)
at scala.reflect.internal.Symbols$Symbol.rawInfo(Symbols.scala:1312)
at scala.tools.nsc.typechecker.Typers$Typer.isStale(Typers.scala:549)
at scala.tools.nsc.typechecker.Typers$Typer.reallyExists(Typers.scala:541)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedSelect$1(Typers.scala:4773)
at scala.tools.nsc.typechecker.Typers$Typer.typedSelectOrSuperCall$1(Typers.scala:4899)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5529)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:835)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2927)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.collection.immutable.List.loop$1(List.scala:170)
at scala.collection.immutable.List.mapConserve(List.scala:186)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1918)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1758)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5549)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:835)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2927)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.collection.immutable.List.loop$1(List.scala:170)
at scala.collection.immutable.List.mapConserve(List.scala:186)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5267)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5553)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:835)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5670)
at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$transform$2.apply(Erasure.scala:1291)
at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$transform$2.apply(Erasure.scala:1287)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:1287)
at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:888)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:227)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:431)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
at scala.tools.nsc.Driver.doCompile(Driver.scala:33)
at scala.tools.nsc.Main$.doCompile(Main.scala:79)
at scala.tools.nsc.Driver.process(Driver.scala:54)
at scala.tools.nsc.Driver.main(Driver.scala:67)
at scala.tools.nsc.Main.main(Main.scala)
error: unrecoverable error
exception when typing abstract trait Test$class extends Object with Test {
def /*Test$class*/$init$(): Unit = {
()
};
spray.httpx.RequestBuilding
}
exception when typing package <empty> {
abstract trait Test extends Object;
abstract trait Test$class extends Object with Test {
def /*Test$class*/$init$(): Unit = {
()
};
spray.httpx.RequestBuilding
}
}
unhandled exception while transforming c.scala
error: uncaught exception during compilation: scala.reflect.internal.FatalError
error: scala.reflect.internal.FatalError:
while compiling: sandbox/c.scala
during phase: global=erasure, atPhase=posterasure
library version: version 2.10.3-20130923-060037-e2fec6b28d
compiler version: version 2.10.3-20130923-060037-e2fec6b28d
reconstructed args: -classpath /Users/jason/.ivy2/cache/io.spray/spray-httpx/jars/spray-httpx-1.2-RC1.jar:/Users/jason/.ivy2/cache/io.spray/spray-http/jars/spray-http-1.2-RC1.jar
last tree to typer: Ident(spray)
symbol: package spray (flags: final <module> <package> <java> <triedcooking>)
symbol definition: final package spray
tpe: spray.type
symbol owners: package spray -> package <root>
context owners: value <local Test$class> -> class Test$class -> package <empty>
== Enclosing template or block ==
Template( // val <local Test$class>: <notype> in class Test$class
"java.lang.Object", "Test" // parents
ValDef(
private
"_"
<tpt>
<empty>
)
// 2 statements
DefDef( // def $init$(): Unit in class Test$class
<method>
"$init$"
[]
List(Nil)
<tpt> // tree.tpe=Unit
Block( // tree.tpe=Unit
{}
()
)
)
"spray"."httpx"."RequestBuilding" // sym= <error> bad symbolic reference. A signature in TransformerPipelineSupport.class refers to term event
in value akka which is not available.
It may be completely missing from the current classpath, or the version on
the classpath might be incompatible with the version used when compiling TransformerPipelineSupport.class.
)
== Expanded type of tree ==
TypeRef(TypeSymbol(final class spray extends ))
unrecoverable error
at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:49)
at scala.tools.nsc.Global.abort(Global.scala:254)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:842)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2927)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.collection.immutable.List.loop$1(List.scala:170)
at scala.collection.immutable.List.mapConserve(List.scala:186)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1918)
at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1758)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5549)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:835)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2927)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$60.apply(Typers.scala:3031)
at scala.collection.immutable.List.loop$1(List.scala:170)
at scala.collection.immutable.List.mapConserve(List.scala:186)
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3031)
at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5267)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5553)
at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:835)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5608)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5670)
at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$transform$2.apply(Erasure.scala:1291)
at scala.tools.nsc.transform.Erasure$ErasureTransformer$$anonfun$transform$2.apply(Erasure.scala:1287)
at scala.reflect.internal.SymbolTable.atPhase(SymbolTable.scala:207)
at scala.reflect.internal.SymbolTable.afterPhase(SymbolTable.scala:216)
at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:1287)
at scala.tools.nsc.transform.Erasure$ErasureTransformer.transform(Erasure.scala:888)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:227)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:431)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:431)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
at scala.tools.nsc.Driver.doCompile(Driver.scala:33)
at scala.tools.nsc.Main$.doCompile(Main.scala:79)
at scala.tools.nsc.Driver.process(Driver.scala:54)
at scala.tools.nsc.Driver.main(Driver.scala:67)
at scala.tools.nsc.Main.main(Main.scala)
~/code/scala
Notize the "unrecoverable error" part, added by the Erasure tree transformer.
@gkossakowski said: The 2.11.2 is out so I'm rescheduling the issue for 2.11.3.
@retronym said: Updating fix-by version to 2.11.5.
@retronym said: https://github.com/scala/scala/pull/4111