Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another crasher - recursive methods this time #8

Closed
VladUreche opened this issue Nov 14, 2012 · 2 comments
Closed

Another crasher - recursive methods this time #8

VladUreche opened this issue Nov 14, 2012 · 2 comments

Comments

@VladUreche
Copy link
Member

$ cat ../miniboxing-plugin/test/bugs/8.scala
class BUG8[@miniboxing.plugin.minispec T](tail: BUG8[T]) {
  def contains(e: T): Boolean = tail.contains(e)
}
$ build/quick/bin/scalac -d mboxing -cp ../miniboxing-plugin/components/runtime/target/scala-2.10/miniboxing-runime_2.10-0.1-SNAPSHOT.jar:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar -Xplugin:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar ../miniboxing-plugin/test/bugs/8.scala

Specializing class BUG8...
-------------- WIDENDED CLAZZ ----------------
BUG8
private[this] val tail: BUG8[T]
def <init>(tail: BUG8[T],val T_TypeTag: Byte): BUG8[T]
def contains(e: T): Boolean
private[this] val T_TypeTag: Byte
def contains_J(e: Long): Boolean
-------------- INTERFACE ----------------
BUG8_interface
def contains(e: Tsp): Boolean
def contains_J(e: Long): Boolean
-------------- ORIGINAL CLASS ----------------
BUG8
private[this] val tail: BUG8[T]
def <init>(tail: BUG8[T],val T_TypeTag: Byte): BUG8[T]
def contains(e: T): Boolean
private[this] val T_TypeTag: Byte
def contains_J(e: Long): Boolean
------------ SPEC CLASS ------------
BUG8_J
def contains_J(e: Long): Boolean
private[this] val tail: BUG8_interface[Long]
def contains(e: Tsp): Boolean
def <init>(tail: BUG8_interface[Long],val T_TypeTag: Byte): BUG8_J[Tsp]
private[this] val T_TypeTag: Byte
------------ SPEC CLASS ------------
BUG8_L
def contains_J(e: Long): Boolean
private[this] val tail: BUG8_interface[Tsp]
def contains(e: Tsp): Boolean
def <init>(tail: BUG8_interface[Tsp],val T_TypeTag: Byte): BUG8_L[Tsp]
private[this] val T_TypeTag: Byte
-------------- TEMPLATE MEMBERS ----------------
BUG8.tail
BUG8.<init>
BUG8.contains
collected BUG8.tail
collected BUG8.<init>
collected BUG8.contains
uncurrying: BUG8.super.<init>
uncurrying: BUG8.this.tail.contains
uncurrying: BUG8.this.contains
uncurrying: MiniboxConversions.this.minibox2box[Nothing]
uncurrying: BUG8_L.this.contains
uncurrying: MiniboxConversions.this.minibox2box[Nothing]
uncurrying: BUG8.this.tail.<contains: error>

     while compiling: ../miniboxing-plugin/test/bugs/8.scala
        during phase: uncurry
     library version: version 2.10.1-20121112-131306-1a6c859710
    compiler version: version 2.10.1-20121112-131306-1a6c859710
  reconstructed args: -d mboxing -Xplugin:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar -classpath ../miniboxing-plugin/components/runtime/target/scala-2.10/miniboxing-runime_2.10-0.1-SNAPSHOT.jar:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar

  last tree to typer: term <empty>
              symbol: package <empty> (flags: final <module> <package> <java> <static> <triedcooking>)
   symbol definition: final package <empty>
                 tpe: <notype>
       symbol owners: package <empty> -> package <root>
      context owners: value e -> method contains -> class BUG8_L -> package <empty>

== Enclosing template or block ==

DefDef( // def contains(e: Tsp): Boolean in class BUG8_L
  <method> <triedcooking> <synchronized>
  "contains"
  []
  // 1 parameter list
  ValDef( // e: Tsp
    <param> <triedcooking>
    "e"
    <tpt> // tree.tpe=Tsp
    <empty>
  )
  <tpt> // tree.tpe=Boolean
  Apply( // val <error>: <error> in class <error>, tree.tpe=<error>
    BUG8.this."tail"."contains" // val <error>: <error> in class <error>
    "e" // e: T, tree.tpe=T
  )
)

== Expanded type of tree ==

<notype>

unhandled exception while transforming 8.scala
error: 
     while compiling: ../miniboxing-plugin/test/bugs/8.scala
        during phase: uncurry
     library version: version 2.10.1-20121112-131306-1a6c859710
    compiler version: version 2.10.1-20121112-131306-1a6c859710
  reconstructed args: -d mboxing -Xplugin:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar -classpath ../miniboxing-plugin/components/runtime/target/scala-2.10/miniboxing-runime_2.10-0.1-SNAPSHOT.jar:../miniboxing-plugin/components/plugin/target/scala-2.10/miniboxing-plugin_2.10-0.1-SNAPSHOT.jar

  last tree to typer: term <empty>
              symbol: package <empty> (flags: final <module> <package> <java> <static> <triedcooking>)
   symbol definition: final package <empty>
                 tpe: <notype>
       symbol owners: package <empty> -> package <root>
      context owners: value e -> method contains -> class BUG8_L -> package <empty>

== Enclosing template or block ==

DefDef( // def contains(e: Tsp): Boolean in class BUG8_L
  <method> <triedcooking> <synchronized>
  "contains"
  []
  // 1 parameter list
  ValDef( // e: Tsp
    <param> <triedcooking>
    "e"
    <tpt> // tree.tpe=Tsp
    <empty>
  )
  <tpt> // tree.tpe=Boolean
  Apply( // val <error>: <error> in class <error>, tree.tpe=<error>
    BUG8.this."tail"."contains" // val <error>: <error> in class <error>
    "e" // e: T, tree.tpe=T
  )
)

== Expanded type of tree ==

<notype>

uncaught exception during compilation: java.lang.NullPointerException
error: java.lang.NullPointerException
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$18.apply(UnCurry.scala:624)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$18.apply(UnCurry.scala:622)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$1(UnCurry.scala:534)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:622)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.internal.Trees$$anonfun$itransform$2.apply(Trees.scala:1193)
    at scala.reflect.internal.Trees$$anonfun$itransform$2.apply(Trees.scala:1191)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1190)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:48)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$12.apply(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$12.apply(UnCurry.scala:581)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$1(UnCurry.scala:534)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:580)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2863)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2861)
    at scala.collection.immutable.List.loop$1(List.scala:164)
    at scala.collection.immutable.List.mapConserve(List.scala:180)
    at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2861)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1234)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:44)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$23.apply(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$23.apply(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$withInConstructorFlag$1(UnCurry.scala:561)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:2840)
    at scala.reflect.internal.Trees$$anonfun$itransform$4.apply(Trees.scala:1238)
    at scala.reflect.internal.Trees$$anonfun$itransform$4.apply(Trees.scala:1237)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1236)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:48)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:659)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2863)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2861)
    at scala.collection.immutable.List.loop$1(List.scala:164)
    at scala.collection.immutable.List.mapConserve(List.scala:180)
    at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2861)
    at scala.reflect.internal.Trees$$anonfun$itransform$7.apply(Trees.scala:1256)
    at scala.reflect.internal.Trees$$anonfun$itransform$7.apply(Trees.scala:1256)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1255)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:46)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:46)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:659)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    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:461)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:428)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:428)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
    at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:428)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1574)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1548)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1544)
    at scala.tools.nsc.Global$Run.compile(Global.scala:1654)
    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)

Exception in thread "main" java.lang.NullPointerException
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$18.apply(UnCurry.scala:624)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$18.apply(UnCurry.scala:622)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$1(UnCurry.scala:534)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:622)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.internal.Trees$$anonfun$itransform$2.apply(Trees.scala:1193)
    at scala.reflect.internal.Trees$$anonfun$itransform$2.apply(Trees.scala:1191)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1190)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:48)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$12.apply(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$12.apply(UnCurry.scala:581)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.withNeedLift$1(UnCurry.scala:534)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:580)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2863)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2861)
    at scala.collection.immutable.List.loop$1(List.scala:164)
    at scala.collection.immutable.List.mapConserve(List.scala:180)
    at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2861)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1234)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:44)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$super$transform(UnCurry.scala:598)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$23.apply(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer$$anonfun$23.apply(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.scala$tools$nsc$transform$UnCurry$UnCurryTransformer$$withInConstructorFlag$1(UnCurry.scala:561)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:656)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:2840)
    at scala.reflect.internal.Trees$$anonfun$itransform$4.apply(Trees.scala:1238)
    at scala.reflect.internal.Trees$$anonfun$itransform$4.apply(Trees.scala:1237)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1236)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:48)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:659)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2863)
    at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:2861)
    at scala.collection.immutable.List.loop$1(List.scala:164)
    at scala.collection.immutable.List.mapConserve(List.scala:180)
    at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2861)
    at scala.reflect.internal.Trees$$anonfun$itransform$7.apply(Trees.scala:1256)
    at scala.reflect.internal.Trees$$anonfun$itransform$7.apply(Trees.scala:1256)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:19)
    at scala.reflect.internal.Trees$class.itransform(Trees.scala:1255)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:12)
    at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2833)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:44)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:46)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:46)
    at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2872)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:34)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:28)
    at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:46)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.mainTransform(UnCurry.scala:659)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:122)
    at scala.tools.nsc.transform.UnCurry$UnCurryTransformer.transform(UnCurry.scala:82)
    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:461)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:428)
    at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:428)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1156)
    at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:428)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1574)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1548)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1544)
    at scala.tools.nsc.Global$Run.compile(Global.scala:1654)
    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)
@VladUreche
Copy link
Member Author

Seems this is an interaction between the in-place method replacement and tree copying.

VladUreche added a commit that referenced this issue Dec 12, 2012
@VladUreche
Copy link
Member Author

Has been in the test suite for a month now, no crash whatsoever.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant