java.lang.StackOverflowError在pio列车阶段
pio train
(在成功的pio build
)给了我这样一个错误:
[ERROR] [Executor] Exception in task 0.0 in stage 39.0 (TID 34) [WARN] [TaskSetManager] Lost task 0.0 in stage 39.0 (TID 34, localhost): java.lang.StackOverflowError at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2321) at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2614) at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2624) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1321) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at scala.collection.immutable.$colon$colon.readObject(List.scala:362) at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1909) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942)
从这里,ObjectInputStreams等重复或多或less的堆栈已满。
有没有人有提示这可能是或如何debugging?
注意 :我正在docker容器中运行prediction.io,可能会导致这个问题,但是我再也不知道如何继续下去了。
任何帮助是真正的赞赏。
PS:我增加了使用SPARK_DAEMON_JAVA_OPTS="-Xss=9m"
的堆栈大小,没有任何效果,但是我猜无论如何,无限recursion是罪魁祸首。
在我的情况下(也使用Docker容器)出现类似的错误。 我find了两种方法来解决这个问题。
选项1:增加预测IO的驱动程序内存
使用--driver-memory
标志:
pio train -- --driver-memory 2g
从Tapster的例子 :
[使用] –driver-memory选项来限制Apache PredictionIO使用的内存(孵化)。 没有这个Apache PredictionIO(孵化)可能会消耗太多的内存导致崩溃。
选项2:增加JVM内存
这可以通过在pio train
之前调用export JAVA_OPTS=-Xmx2g
来完成。
请参阅启动JVM时,Xms和Xmx参数是什么? 有关JVM内存选项的更多细节。
- Xdebug忽略Netbeans中的Docker容器内创build的Php项目的断点
- 更好的方式远程debuggingDocker容器与Eclipse + Pydev的Odoo / Python?
- Golang远程debugging器与vscode
- 从IntelliJ IDEA远程debuggingDocker容器中的Java 9
- Django在Docker之外运行良好,但从未在Docker中启动,如何查找问题?
- 如何用VS代码远程debuggingDocker容器中的Python代码
- PyCharm在Docker内部添加远程Python解释器
- 如何在使用stream浪者泊坞窗的IntelliJ思想中debuggingpython
- 使用Mocha + TypeScript + Docker远程debuggingnode.js。 debugging器不反映实际的执行?