Scala IDE consistently crashes with StackOverflowError

129 views
Skip to first unread message

Vladimir Ventura

unread,
Aug 11, 2018, 7:34:56 AM8/11/18
to Scala IDE User
Hey all,

I've been experiencing constant crashes on Scale 4.7.0  IDE (4.7.0-vfinal-2017-09-29T14:34:02Z-Typesafe), getting StackOverflowError every time. The stack trace seems very... circular? You'll see what I mean:

java.lang.StackOverflowError
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1338)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1345)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1676)
at scala.reflect.internal.Trees$Duplicator.transform(Trees.scala:1673)
at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)

This is a snippet.. this goes on for about another 1000 lines. The bottom is this:
at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16)
at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555)


It's fairly easy to reproduce -- whenever the project builds, this happens. If I use GIT to pull: it crashes. If I clean in the IDE, it crashes. Same thing over and over.

More information:

Windows 10 OS
Java 1.8.0_181 x64
8 GB RAM

In the .ini file I've tried increasing the xmx (it was at 2G... shouldn't be needing more than that, and it doesn't let itself allocate more anyway).

Any ideas?

I can always paste the log file here if need be.

Thanks,
Vladimir

Dan Gravell

unread,
Sep 13, 2018, 5:15:18 AM9/13/18
to Scala IDE User
When I've had problems like this I have to systematically undo my recent changes until I work out what bit of code isn't liked... then find a different solution.

Not sure whether it's scalac, sbt or the IDE at fault...

Sorry it's not an easier answer!

Dan
Reply all
Reply to author
Forward
0 new messages