【问题标题】:How to fix the Error: "org.jetbrains.jps.incremental.scala.remote.ServerException java.lang.StackOverflowError"如何修复错误:“org.jetbrains.jps.incremental.scala.remote.ServerException java.lang.StackOverflowError”
【发布时间】:2019-09-27 17:33:13
【问题描述】:

我正在尝试在 scala-sbt 项目中运行主类。运行类导致stackoverflow错误,下面粘贴了StackTrace。

我确定这不是代码问题,因为对于同一个项目,我可以通过在 sbt conf 文件中设置内存来运行 sbt 包,如下所述:https://stackoverflow.com/q/55874883

我尝试在 Intellij> Settings> Scala Compile Server 中设置参数,但它无助于克服错误。 JDK:配置文件默认值 JVM 最大堆大小,MB:2024 JVM 选项:-server -Xmx2G -Xss20m -XX:MaxPermSize=1000m -XX:ReservedCodeCacheSize=1000m

智能: IntelliJ IDEA 2019.1(社区版) 构建 #IC-191.6183.87,构建于 2019 年 3 月 27 日 JRE:1.8.0_202-release-1483-b39 amd64 JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VM 视窗 10 10.0

Sbt 版本:1.2.8

Scala 版本:2.11.8

Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:273)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:209)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.noTailTransform(TailCalls.scala:214)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:403)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:209)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.noTailTransform(TailCalls.scala:214)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:403)

    at scala.tools.nsc.transform.TailCalls$TailCallElimination.transform(TailCalls.scala:209)

    redacted...

【问题讨论】:

  • 它还在 IntelliJ 2019.2 中发生吗?
  • 嗨贾斯汀,感谢您的跟进。到目前为止,我还没有被 Intellij 更新。一旦我更新,肯定会尝试重现上述内容。

标签: scala maven apache-spark intellij-idea sbt


【解决方案1】:

如果你能够做 sbt 包(所以你有足够的堆大小和为 sbt 配置的-Xss)但运行类仍然抛出 java.lang.StackOverflowError 尝试去

Settings->Build, Execution, Deployment->sbt

打勾

sbt shell->use for:project reloadbuilds

try those options

【讨论】:

    【解决方案2】:

    我在 Intellij IDEA Ultimate 2020.1.1 上遇到了同样的问题。

    以上选项都不适合我。但是有了上面答案的提示,我发现Scala编译器也有不同的设置,更改后错误停止了。

    我增加了 Scala 编译器服务器的堆栈跟踪大小:Preferences -> Compiler -> Scala Compiler -> Scala Compiler Server。然后,相应地更改 JVM 选项(在我的例子中,-server -Xss1024m)。

    【讨论】:

    • 不要忘记重启 IntelliJ 以使更改生效。
    • 我不需要重新启动 IntelliJ。当您尝试多种设置时,这可以节省大量时间...
    【解决方案3】:

    我在 Intellij IDEA 社区版 2019.3.4 中遇到了同样的问题。

    最后,对我有用的是这个solution。基本上去Settings->Build, Execution, Deployment->Compiler

    然后,在“用户本地构建过程 VM 选项”中,使用 -Xss 将堆栈大小设置为更大的值

    就我而言,我终于设法将测试设置为-Xss2048m

    我希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      转到配置 → 编辑自定义 VM 选项并在那里添加您的更改

      【讨论】:

      • Mzf 但我无法在 IntelliJ 的任何地方找到该选项。
      • 它在帮助下拉菜单下。
      • 添加在下面,但仍然有同样的问题。 # 自定义 IntelliJ IDEA VM 选项 -Xms128m -Xmx2G -Xss8M -XX:ReservedCodeCacheSize=1000m -XX:MaxPermSize=1000m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50-ea -Dsun.io.useCanonCaches=false -Djava.net。 preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow
      • Mzf,这个可以添加到别处吗?互联网上的任何来源也可以提供帮助。我做了谷歌并查找它,没有找到与此问题相关的任何内容。
      • 也在 IntelliJ 社区论坛上请求,intellij-support.jetbrains.com/hc/en-us/community/posts/… 仍然不知道如何解决这个问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 2016-11-17
      • 2011-07-24
      • 2021-05-10
      • 2017-07-17
      • 2013-03-05
      相关资源
      最近更新 更多