Created
July 27, 2012 17:07
-
-
Save hubertp/3189196 to your computer and use it in GitHub Desktop.
compiler crash with genASM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
quick.comp: | |
[scalacfork] Compiling 144 files to /home/hubert/tmp/repos/scala-dev/build/quick/classes/compiler | |
[scalacfork] /home/hubert/tmp/repos/scala-dev/src/compiler/scala/tools/nsc/doc/html/page/diagram/DotDiagramGenerator.scala:336: warning: This catches all Throwables. If this is really intended, use `case exc : Throwable` to clear this warning. | |
[scalacfork] case exc => | |
[scalacfork] ^ | |
[scalacfork] error: | |
[scalacfork] while compiling: /home/hubert/tmp/repos/scala-dev/src/compiler/scala/tools/util/VerifyClass.scala | |
[scalacfork] during phase: jvm | |
[scalacfork] library version: version 2.11.0-20120725-151122-fe513d1f14 | |
[scalacfork] compiler version: version 2.11.0-20120725-151122-fe513d1f14 | |
[scalacfork] reconstructed args: -Yreify-copypaste -classpath /home/hubert/tmp/repos/scala-dev/build/quick/classes/library:/home/hubert/tmp/repos/scala-dev/build/quick/classes/reflect:/home/hubert/tmp/repos/scala-dev/build/quick/classes/compiler:/usr/share/ant/lib/ant.jar:/home/hubert/.m2/repository/com/typesafe/config/0.4.0/config-0.4.0.jar:/home/hubert/tmp/repos/scala-dev/build/libs/classes/forkjoin:/home/hubert/tmp/repos/scala-dev/build/libs/classes/fjbg:/home/hubert/tmp/repos/scala-dev/build/asm/classes:/home/hubert/tmp/repos/scala-dev/lib/jline.jar -d /home/hubert/tmp/repos/scala-dev/build/quick/classes/compiler | |
[scalacfork] | |
[scalacfork] last tree to typer: Literal(Constant(Tuple2)) | |
[scalacfork] symbol: null | |
[scalacfork] symbol definition: null | |
[scalacfork] tpe: Class(classOf[scala.Tuple2]) | |
[scalacfork] symbol owners: | |
[scalacfork] context owners: anonymous class VerifyClass$$anonfun$main$2 -> package util | |
[scalacfork] | |
[scalacfork] == Enclosing template or block == | |
[scalacfork] | |
[scalacfork] Template( // val <local $anonfun>: <notype>, tree.tpe=scala.tools.util.VerifyClass$$anonfun$main$2 | |
[scalacfork] "scala.runtime.AbstractFunction1$mcVL$sp", "scala.Serializable" // parents | |
[scalacfork] ValDef( | |
[scalacfork] private <lifted> | |
[scalacfork] "_" | |
[scalacfork] <tpt> | |
[scalacfork] <empty> | |
[scalacfork] ) | |
[scalacfork] // 4 statements | |
[scalacfork] DefDef( // final def apply(x$1: Tuple2): Unit | |
[scalacfork] <method> final <triedcooking> | |
[scalacfork] "apply" | |
[scalacfork] [] | |
[scalacfork] // 1 parameter list | |
[scalacfork] ValDef( // x$6: Tuple2 | |
[scalacfork] <param> <synthetic> <triedcooking> | |
[scalacfork] "x$6" | |
[scalacfork] <tpt> // tree.tpe=Tuple2 | |
[scalacfork] <empty> | |
[scalacfork] ) | |
[scalacfork] <tpt> // tree.tpe=Unit | |
[scalacfork] Block( // tree.tpe=Unit | |
[scalacfork] // 3 statements | |
[scalacfork] ValDef( // case val x1: Tuple2 | |
[scalacfork] case <synthetic> <triedcooking> | |
[scalacfork] "x1" | |
[scalacfork] <tpt> // tree.tpe=Tuple2 | |
[scalacfork] Typed( // tree.tpe=Tuple2 | |
[scalacfork] "x$6" // x$6: Tuple2, tree.tpe=Tuple2 | |
[scalacfork] <tpt> // tree.tpe=Tuple2 | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] LabelDef( // case def case4(): Unit, tree.tpe=Unit | |
[scalacfork] () | |
[scalacfork] If( // tree.tpe=Unit | |
[scalacfork] Apply( // final def ne(x$1: Object): Boolean in class Object, tree.tpe=Boolean | |
[scalacfork] "x1"."ne" // final def ne(x$1: Object): Boolean in class Object, tree.tpe=(x$1: Object)Boolean | |
[scalacfork] null | |
[scalacfork] ) | |
[scalacfork] Block( // tree.tpe=Unit | |
[scalacfork] // 2 statements | |
[scalacfork] ValDef( // val name: String | |
[scalacfork] <triedcooking> | |
[scalacfork] "name" | |
[scalacfork] <tpt> // tree.tpe=String | |
[scalacfork] Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=String | |
[scalacfork] TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()String | |
[scalacfork] x1._1()."$asInstanceOf" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0 | |
[scalacfork] <tpt> // tree.tpe=String | |
[scalacfork] ) | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ValDef( // val result: String | |
[scalacfork] <triedcooking> | |
[scalacfork] "result" | |
[scalacfork] <tpt> // tree.tpe=String | |
[scalacfork] Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=String | |
[scalacfork] TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()String | |
[scalacfork] x1._2()."$asInstanceOf" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0 | |
[scalacfork] <tpt> // tree.tpe=String | |
[scalacfork] ) | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] Apply( // case def matchEnd3(x: scala.runtime.BoxedUnit): Unit, tree.tpe=Unit | |
[scalacfork] "matchEnd3" // case def matchEnd3(x: scala.runtime.BoxedUnit): Unit, tree.tpe=(x: scala.runtime.BoxedUnit)Unit | |
[scalacfork] Block( // tree.tpe=scala.runtime.BoxedUnit | |
[scalacfork] Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit | |
[scalacfork] scala.this."Predef"."println" // def println(x: Object): Unit in object Predef, tree.tpe=(x: Object)Unit | |
[scalacfork] Apply( // final def +(x$1: Object): String in class String, tree.tpe=String | |
[scalacfork] name.+(" had error: ")."$plus" // final def +(x$1: Object): String in class String, tree.tpe=(x$1: Object)String | |
[scalacfork] "result" // val result: String, tree.tpe=String | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] "scala"."runtime"."BoxedUnit"."UNIT" // final val UNIT: scala.runtime.BoxedUnit in object BoxedUnit, tree.tpe=scala.runtime.BoxedUnit | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] Apply( // case def case5(): Unit, tree.tpe=Unit | |
[scalacfork] "case5" // case def case5(): Unit, tree.tpe=()Unit | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] LabelDef( // case def case5(): Unit, tree.tpe=Unit | |
[scalacfork] () | |
[scalacfork] Apply( // case def matchEnd3(x: scala.runtime.BoxedUnit): Unit, tree.tpe=Unit | |
[scalacfork] "matchEnd3" // case def matchEnd3(x: scala.runtime.BoxedUnit): Unit, tree.tpe=(x: scala.runtime.BoxedUnit)Unit | |
[scalacfork] Throw( // tree.tpe=Nothing | |
[scalacfork] Apply( // def <init>(obj: Object): MatchError in class MatchError, tree.tpe=MatchError | |
[scalacfork] new MatchError."<init>" // def <init>(obj: Object): MatchError in class MatchError, tree.tpe=(obj: Object)MatchError | |
[scalacfork] "x1" // case val x1: Tuple2, tree.tpe=Tuple2 | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] LabelDef( // case def matchEnd3(x: scala.runtime.BoxedUnit): Unit, tree.tpe=Unit | |
[scalacfork] "x" // x: scala.runtime.BoxedUnit, tree.tpe=scala.runtime.BoxedUnit | |
[scalacfork] () | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] DefDef( // final def apply(v1: Object): Object | |
[scalacfork] <method> final <bridge> <hidden> | |
[scalacfork] "apply" | |
[scalacfork] [] | |
[scalacfork] // 1 parameter list | |
[scalacfork] ValDef( // v1: Object | |
[scalacfork] <param> <triedcooking> | |
[scalacfork] "v1" | |
[scalacfork] <tpt> // tree.tpe=Object | |
[scalacfork] <empty> | |
[scalacfork] ) | |
[scalacfork] <tpt> // tree.tpe=Object | |
[scalacfork] Block( // tree.tpe=scala.runtime.BoxedUnit | |
[scalacfork] Apply( // final def apply(x$1: Tuple2): Unit, tree.tpe=Unit | |
[scalacfork] VerifyClass$$anonfun$main$2.this."apply" // final def apply(x$1: Tuple2): Unit, tree.tpe=(x$1: Tuple2)Unit | |
[scalacfork] Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=Tuple2 | |
[scalacfork] TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()Tuple2 | |
[scalacfork] "v1"."$asInstanceOf" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0 | |
[scalacfork] <tpt> // tree.tpe=Tuple2 | |
[scalacfork] ) | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] "scala"."runtime"."BoxedUnit"."UNIT" // final val UNIT: scala.runtime.BoxedUnit in object BoxedUnit, tree.tpe=scala.runtime.BoxedUnit | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] DefDef( // final def apply(v1: Object): Unit | |
[scalacfork] <method> final <bridge> <hidden> | |
[scalacfork] "apply" | |
[scalacfork] [] | |
[scalacfork] // 1 parameter list | |
[scalacfork] ValDef( // v1: Object | |
[scalacfork] <param> <triedcooking> | |
[scalacfork] "v1" | |
[scalacfork] <tpt> // tree.tpe=Object | |
[scalacfork] <empty> | |
[scalacfork] ) | |
[scalacfork] <tpt> // tree.tpe=Unit | |
[scalacfork] Apply( // final def apply(x$1: Tuple2): Unit, tree.tpe=Unit | |
[scalacfork] VerifyClass$$anonfun$main$2.this."apply" // final def apply(x$1: Tuple2): Unit, tree.tpe=(x$1: Tuple2)Unit | |
[scalacfork] Apply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=Tuple2 | |
[scalacfork] TypeApply( // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=()Tuple2 | |
[scalacfork] "v1"."$asInstanceOf" // final def $asInstanceOf[T0 >: ? <: ?](): T0 in class Object, tree.tpe=[T0 >: ? <: ?]()T0 | |
[scalacfork] <tpt> // tree.tpe=Tuple2 | |
[scalacfork] ) | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] DefDef( // def <init>(): scala.tools.util.VerifyClass$$anonfun$main$2 | |
[scalacfork] <method> <triedcooking> | |
[scalacfork] "<init>" | |
[scalacfork] [] | |
$sp | |
[scalacfork] VerifyClass$$anonfun$main$2.super."<init>" // def <init>(): scala.runtime.AbstractFunction1$mcVL$sp in class AbstractFunction1$mcVL$sp, tree.tpe=()scala.runtime.AbstractFunction1$mcVL$sp | |
[scalacfork] Nil | |
[scalacfork] ) | |
[scalacfork] () | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] ) | |
[scalacfork] | |
[scalacfork] == Expanded type of tree == | |
[scalacfork] | |
[scalacfork] ConstantType(value = Constant(Tuple2)) | |
[scalacfork] | |
[scalacfork] uncaught exception during compilation: java.lang.ArrayIndexOutOfBoundsException | |
[scalacfork] error: java.lang.ArrayIndexOutOfBoundsException: -1 | |
[scalacfork] at scala.tools.asm.Frame.merge(Unknown Source) | |
[scalacfork] at scala.tools.asm.Frame.merge(Unknown Source) | |
[scalacfork] at scala.tools.asm.MethodWriter.visitMaxs(Unknown Source) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genMethod(GenASM.scala:1623) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1456) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1456) | |
[scalacfork] at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) | |
[scalacfork] at scala.collection.immutable.List.foreach(List.scala:78) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genClass(GenASM.scala:1456) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:180) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1546) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1520) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileSources(Global.scala:1516) | |
[scalacfork] at scala.tools.nsc.Global$Run.compile(Global.scala:1629) | |
[scalacfork] at scala.tools.nsc.Driver.doCompile(Driver.scala:33) | |
[scalacfork] at scala.tools.nsc.Main$.doCompile(Main.scala:79) | |
[scalacfork] at scala.tools.nsc.Driver.process(Driver.scala:54) | |
[scalacfork] at scala.tools.nsc.Driver.main(Driver.scala:67) | |
[scalacfork] at scala.tools.nsc.Main.main(Main.scala) | |
[scalacfork] | |
[scalacfork] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 | |
[scalacfork] at scala.tools.asm.Frame.merge(Unknown Source) | |
[scalacfork] at scala.tools.asm.Frame.merge(Unknown Source) | |
[scalacfork] at scala.tools.asm.MethodWriter.visitMaxs(Unknown Source) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genMethod(GenASM.scala:1623) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1456) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder$$anonfun$genClass$4.apply(GenASM.scala:1456) | |
[scalacfork] at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) | |
[scalacfork] at scala.collection.immutable.List.foreach(List.scala:78) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$JPlainBuilder.genClass(GenASM.scala:1456) | |
[scalacfork] at scala.tools.nsc.backend.jvm.GenASM$AsmPhase.run(GenASM.scala:180) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1546) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1520) | |
[scalacfork] at scala.tools.nsc.Global$Run.compileSources(Global.scala:1516) | |
[scalacfork] at scala.tools.nsc.Global$Run.compile(Global.scala:1629) | |
[scalacfork] at scala.tools.nsc.Driver.doCompile(Driver.scala:33) | |
[scalacfork] at scala.tools.nsc.Main$.doCompile(Main.scala:79) | |
[scalacfork] at scala.tools.nsc.Driver.process(Driver.scala:54) | |
[scalacfork] at scala.tools.nsc.Driver.main(Driver.scala:67) | |
[scalacfork] at scala.tools.nsc.Main.main(Main.scala) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment