You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Not sure it makes sense to report this as this happened exactly once and I haven't been able to reproduce this. If the reason can't be found it may be nice it have it in the system to be found by future people who stumble over this.
**Expected result**:
compiles fine
**Actual result**:
> compile
[info] Compiling 1 Scala source to .../target/scala-2.10/classes...
[error]
[error] while compiling: .../src/main/scala/slow.scala
[error] during phase: erasure
[error] library version: version 2.10.4
[error] compiler version: version 2.10.4
[error] reconstructed args: -bootclasspath /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:~/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.4.jar -classpath .../target/scala-2.10/classes:.../lib/jaybird-2.2.4.jar:~/.ivy2/local/com.typesafe.slick/slick_2.10/2.0.1/jars/slick_2.10.jar:~/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.6.4.jar:~/.ivy2/cache/org.slf4j/slf4j-nop/jars/slf4j-nop-1.6.4.jar:~/.ivy2/cache/com.h2database/h2/jars/h2-1.3.166.jar
[error]
[error] last tree to typer: TypeTree(trait RelationalDriver)
[error] symbol: trait RelationalDriver in package profile (flags: <interface> abstract <trait> <lateinterface>)
[error] symbol definition: abstract trait RelationalDriver extends BasicDriver with RelationalProfile
[error] tpe: slick.profile.RelationalDriver
[error] symbol owners: trait RelationalDriver -> package profile
[error] context owners: value x$375 -> method * -> class Job -> trait Tables -> package manual
[error]
[error] == Enclosing template or block ==
[error]
[error] Block(
[error] ValDef( // val x$375: scala.slick.lifted.Column[String]
[error] <synthetic> <triedcooking>
[error] "x$375"
[error] <tpt> // tree.tpe=slick.lifted.Column
[error] Apply( // val escalationrequired(): scala.slick.lifted.Column[String] in class Job
[error] Job.this."escalationrequired" // val escalationrequired(): scala.slick.lifted.Column[String] in class Job
[error] Nil
[error] )
[error] )
[error] Apply( // final def ::[E](elem: E): scala.slick.collection.heterogenous.HCons[E,HList.this.Self] in class HList
[error] {
[error] <synthetic> val x$374: scala.slick.lifted.Column[Option[String]] = Job.this.warrantydatetype();
[error] {
[error] <synthetic> val x$373: scala.slick.lifted.Column[Option[java.sql.Date]] = Job.this.activationdate();
[error] {
[error] <synthetic> val x$372: scala.slick.lifted.Column[Option[String]] = Job.this.warantyinterfacecolourtagcolour();
[error] {
[error] <synthetic> val x$371: scala.slick.lifted.Column[String] = Job.this.sendcustomerreceiptemail();
[error] scala.slick.collection.heterogenous.HNil.::(x$371)
[error] }.::(x$372)
[error] }.::(x$373)
[error] }.::(x$374)
[error] }."$colon$colon" // final def ::[E](elem: E): scala.slick.collection.heterogenous.HCons[E,HList.this.Self] in class HList
[error] "x$375" // val x$375: scala.slick.lifted.Column[String]
[error] )
[error] )
[error]
[error] == Expanded type of tree ==
[error]
[error] TypeRef(
[error] TypeSymbol(
[error] abstract trait RelationalDriver extends BasicDriver with RelationalProfile
[error]
[error] )
[error] )
[error]
[error] uncaught exception during compilation: java.lang.StackOverflowError
[trace] Stack trace suppressed: run last compile:compile for the full output.
[error] (compile:compile) java.lang.StackOverflowError
[error] Total time: 80 s, completed Apr 6, 2014 1:51:01 PM
Reproduce code (using Slick 2.0.1 and Scala 2.10.4):
@retronym said (edited on Apr 6, 2014 7:24:02 PM UTC):
[error] uncaught exception during compilation: java.lang.StackOverflowError
[trace] Stack trace suppressed: run last compile:compile for the full output.
^
|--- that part is important! :)
[error] (compile:compile) java.lang.StackOverflowError
[error] Total time: 80 s, completed Apr 6, 2014 1:51:01 PM
I saw a SOE in implicit search when I first ran the test for #8478. Typechecking consumes stack proportional to the depth of the trees, and summoning a implicit for a long HList, element-by-element, will lead down that path pretty quickly.
@cvogt said:
ah right, the stack trace would have been useful, my bad. And exactly, I saw it on first compile, but not again. Why does it work in subsequent compiles? And I guess HLists just require to increase the stack size for compilation...
I have only been able to reproduce this once, but not repeatedly. It may cause the crashes described here: http://stackoverflow.com/questions/22842486/eclipse-scala-ide-slow-and-crashes-caused-by-slick-generated-hcon-hlist
Expected result:
compiles fine
Actual result:
Reproduce code (using Slick 2.0.1 and Scala 2.10.4):
The text was updated successfully, but these errors were encountered: