Skip to content

Instantly share code, notes, and snippets.

@gkossakowski
Created July 19, 2012 13:06
Show Gist options
  • Save gkossakowski/3143775 to your computer and use it in GitHub Desktop.
Save gkossakowski/3143775 to your computer and use it in GitHub Desktop.
Scala compiler crash with -target:jvm-1.6
Possible compiler crash during test of: /Users/grek/scala/scala/test/files/pos/t5957
java.lang.AssertionError: assertion failed:
while compiling: /Users/grek/scala/scala/test/files/pos/t5957/T_1.scala
during phase: jvm
library version: version 2.10.0-20120719-133117-f18ef37c66
compiler version: version 2.10.0-20120719-133117-f18ef37c66
reconstructed args: -deprecation -d /Users/grek/scala/scala/test/files/pos/t5957-pos.obj -classpath /Users/grek/scala/scala/test/files/codelib/code.jar:/Users/grek/scala/scala/build/pack/lib/scala-library.jar:/Users/grek/scala/scala/test/files/pos/t5957-pos.obj:/Users/grek/scala/scala/test/files/pos/t5957:/Users/grek/scala/scala/build/pack/lib/scala-compiler.jar:/Users/grek/scala/scala/build/pack/lib/scala-reflect.jar:/Users/grek/scala/scala/build/pack/lib/scala-library.jar:/Users/grek/scala/scala/build/pack/lib/scala-partest.jar:/Users/grek/scala/scala/lib/fjbg.jar:/Users/grek/scala/scala/build/pack/lib/scalap.jar:/Users/grek/scala/scala/build/pack/lib/scala-actors.jar:/Users/grek/scala/scala/build/pack/lib/scala-actors-migration.jar:/Users/grek/scala/scala/test/files/lib/annotations.jar:/Users/grek/scala/scala/test/files/lib/enums.jar:/Users/grek/scala/scala/test/files/lib/genericNest.jar:/Users/grek/scala/scala/test/files/lib/methvsfield.jar:/Users/grek/scala/scala/test/files/lib/nest.jar:/Users/grek/scala/scala/test/files/lib/scalacheck.jar:/Users/grek/scala/scala/build/pack/lib/scalacheck.jar
last tree to typer: EmptyTree
symbol: null
symbol definition: null
tpe: <notype>
symbol owners:
context owners: class T -> package <empty>
== Enclosing template or block ==
Template( // val <local T>: <notype> in class T, tree.tpe=T
"java.lang.Object" // parents
ValDef(
private <java>
"_"
<tpt>
<empty>
)
// 5 statements
DefDef( // def t1(): Test$Bar in class T
<method> <deferred>
"t1"
[]
List(Nil)
<tpt> // tree.tpe=Test$Bar
<empty>
)
DefDef( // def t2(): Test$Bar in class T
<method> <deferred>
"t2"
[]
List(Nil)
<tpt> // tree.tpe=Test$Bar
<empty>
)
DefDef( // def t3(): Test$Baz in class T
<method> <deferred>
"t3"
[]
List(Nil)
<tpt> // tree.tpe=Test$Baz
<empty>
)
DefDef( // def t4(): Test$Baz in class T
<method> <deferred>
"t4"
[]
List(Nil)
<tpt> // tree.tpe=Test$Baz
<empty>
)
DefDef( // def <init>(): T in class T
<method>
"<init>"
[]
List(Nil)
<tpt> // tree.tpe=T
Block( // tree.tpe=Unit
Apply( // def <init>(): Object in class Object, tree.tpe=Object
T.super."<init>" // def <init>(): Object in class Object, tree.tpe=()Object
Nil
)
()
)
)
)
== Expanded type of tree ==
<notype>
how can getCommonSuperclass() do its job if different class symbols get the same bytecode-level internal name: Test$Bar
at scala.Predef$.assert(Predef.scala:170)
at scala.tools.nsc.Global.assert(Global.scala:235)
at scala.tools.nsc.backend.jvm.GenASM$JBuilder.javaName(GenASM.scala:600)
at scala.tools.nsc.backend.jvm.GenASM$JBuilder.javaType(GenASM.scala:633)
at scala.tools.nsc.backend.jvm.GenASM$JBuilder.javaType(GenASM.scala:639)
at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genMethod(GenASM.scala:1546)
at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1454)
at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1454)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genClass(GenASM.scala:1454)
at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:180)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1576)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1550)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1546)
at scala.tools.nsc.Global$Run.compile(Global.scala:1656)
at scala.tools.partest.nest.DirectCompiler.compile(CompileManager.scala:133)
at scala.tools.partest.nest.CompileManager.attemptCompile(CompileManager.scala:153)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$scala$tools$partest$nest$RunnerManager$Runner$$compileGroup$1$1.apply(RunnerManager.scala:327)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$scala$tools$partest$nest$RunnerManager$Runner$$compileGroup$1$1.apply(RunnerManager.scala:326)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.partest.nest.RunnerManager$Runner.scala$tools$partest$nest$RunnerManager$Runner$$compileGroup$1(RunnerManager.scala:326)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$compileFilesIn$1.apply(RunnerManager.scala:334)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$compileFilesIn$1.apply(RunnerManager.scala:333)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.partest.nest.RunnerManager$Runner.compileFilesIn(RunnerManager.scala:333)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$runTestCommon$1.apply(RunnerManager.scala:345)
at scala.tools.partest.nest.RunnerManager$Runner$$anonfun$runTestCommon$1.apply(RunnerManager.scala:343)
at scala.tools.partest.nest.RunnerManager$Runner.runInContext(RunnerManager.scala:304)
at scala.tools.partest.nest.RunnerManager$Runner.runTestCommon(RunnerManager.scala:343)
at scala.tools.partest.nest.RunnerManager$Runner.processSingleFile(RunnerManager.scala:466)
at scala.tools.partest.nest.RunnerManager$Runner.run(RunnerManager.scala:786)
at scala.tools.partest.nest.RunnerManager$$anonfun$29.apply(RunnerManager.scala:818)
at scala.tools.partest.nest.RunnerManager$$anonfun$29.apply(RunnerManager.scala:818)
at scala.tools.partest.package$.timed(package.scala:35)
at scala.tools.partest.nest.RunnerManager.runTest(RunnerManager.scala:818)
at scala.tools.partest.nest.DirectRunner$$anonfun$2$$anonfun$apply$1.apply(DirectRunner.scala:59)
at scala.tools.partest.nest.DirectRunner$$anonfun$2$$anonfun$apply$1.apply(DirectRunner.scala:59)
at scala.tools.partest.package$$anon$1.call(package.scala:41)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment