Skip to content

Instantly share code, notes, and snippets.

@markhibberd
Created February 18, 2013 22:28
Show Gist options
  • Save markhibberd/4981354 to your computer and use it in GitHub Desktop.
Save markhibberd/4981354 to your computer and use it in GitHub Desktop.
StackOverflow, type alias, higher kinds.
java.lang.StackOverflowError
at scala.tools.nsc.symtab.Types$SimpleTypeProxy$class.boundSyms(Types.scala:189)
at scala.tools.nsc.symtab.Types$SingletonType.boundSyms(Types.scala:1040)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3565)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3113)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3158)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$16.apply(Types.scala:3234)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$16.apply(Types.scala:3231)
at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:79)
at scala.collection.immutable.List.exists(List.scala:76)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3231)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3141)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3216)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3212)
at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4985)
at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:3212)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3119)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3143)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3216)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3212)
at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4985)
at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:3212)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3119)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3532)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3147)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3567)
at scala.tools.nsc.symtab.Types$Type.subst(Types.scala:583)
at scala.tools.nsc.symtab.Types$Type.instantiateTypeParams(Types.scala:423)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.tparamsToWildcards(Implicits.scala:270)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1169)
at scala.tools.nsc.typechecker.Implicits$class.inferImplicit(Implicits.scala:67)
at scala.tools.nsc.Global$analyzer$.inferImplicit(Global.scala:351)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:121)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:116)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:76)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:116)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:761)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:733)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:529)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:491)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:403)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.tryImplicitInfo$1(Implicits.scala:745)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:748)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:772)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:830)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1169)
at scala.tools.nsc.typechecker.Implicits$class.inferImplicit(Implicits.scala:67)
at scala.tools.nsc.Global$analyzer$.inferImplicit(Global.scala:351)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:121)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:116)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:76)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:116)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:761)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:733)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:529)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit0(Implicits.scala:491)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.scala$tools$nsc$typechecker$Implicits$ImplicitSearch$$typedImplicit(Implicits.scala:403)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.tryImplicitInfo$1(Implicits.scala:745)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.rankImplicits(Implicits.scala:748)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch$ImplicitComputation.findBest(Implicits.scala:772)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.searchImplicit(Implicits.scala:830)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.bestImplicit(Implicits.scala:1169)
at scala.tools.nsc.typechecker.Implicits$class.inferImplicit(Implicits.scala:67)
at scala.tools.nsc.Global$analyzer$.inferImplicit(Global.scala:351)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:121)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$applyImplicitArgs$1.apply(Typers.scala:116)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:76)
at scala.tools.nsc.typechecker.Typers$Typer.applyImplicitArgs(Typers.scala:116)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:761)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:733)
at scala.tools.nsc.typechecker.Implicits$ImplicitSearch.typedImplicit1(Implicits.scala:529)
[error] (vault/compile:compile) java.lang.StackOverflowError
@retronym
Copy link

I can't reproduce that, but I was guessing a bit about your Scala version (I tried 2.10.0 and 2.10.1-RC1), and the version of scala-machines.

Can you minimize the problem further?

[debug] Calling Scala compiler with arguments  (CompilerInterface):
[debug]     -deprecation
[debug]     -unchecked
[debug]     -feature
[debug]     -language:implicitConversions
[debug]     -language:higherKinds
[debug]     -language:postfixOps
[debug]     -d
[debug]     /Users/jason/code/vault/target/scala-2.10/classes
[debug]     -bootclasspath
[debug]     /Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/jsfd.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/ui.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/laf.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/sunrsasign.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/jsse.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/jce.jar:/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Classes/charsets.jar:/Users/jason/.sbt/0.12.1/boot/scala-2.10.0/lib/scala-library.jar
[debug]     -classpath
[debug]     /Users/jason/code/vault/target/scala-2.10/classes:/Users/jason/.ivy2/cache/org.scalaz/scalaz-core_2.10/bundles/scalaz-core_2.10-7.0.0-M7.jar:/Users/jason/.ivy2/local/machines/machines_2.10/0.1-SNAPSHOT/jars/machines_2.10.jar:/Users/jason/.ivy2/cache/org.scalaz/scalaz-effect_2.10/bundles/scalaz-effect_2.10-7.0.0-M7.jar:/Users/jason/.ivy2/cache/org.hsqldb/hsqldb/jars/hsqldb-2.0.0.jar
[error] /Users/jason/code/vault/src/main/scala/vault/DbValueT.scala:22: type mismatch;
[error]  found   : scalaz.Free.Return[F,A]
[error]  required: scalaz.Free[DbValueT.this.DbValueTF,A]
[error]     Suspend(map(Return(_)))
[error]                       ^
[error] one error found
[debug] Compilation failed (CompilerInterface)
[error] (vault/compile:compile) Compilation failed
[error] Total time: 5 s, completed Feb 18, 2013 11:52:13 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment