使用jpype启动JVM时分段故障(Segmentation fault when starting

2019-09-29 22:09发布

我试图用java sutime在我的Python代码。 该代码已经工作正常,直到昨天,但现在与分段故障结束。 这个问题似乎是从未来

 jpype.startJVM(getDefaultJVMPath())

此功能与分段故障结束。 该defaultJVMPath是

'/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so'

我试图卸载,然后安装Java和jpype。 该代码在内存更少虚框罚款,所以这个问题犯规似乎是从内存不足的到来。 任何人有任何想法? 任何帮助表示赞赏,谢谢!

>>> import jpype  
>>> jpype.isJVMStarted()  
0  
>>> jpype.startJVM(jpype.getDefaultJVMPath())  
Segmentation fault  
deepthi@deepthi:~$ 

Answer 1:

Linux的图像3.13.0-121泛型和linux-图像4.4.0-81泛型包含用于修复堆栈冲突的脆弱性 。

小心内核更新,其中修复此漏洞。 当前补丁打破许多Java(太阳/ Oracle和OpenJDK的)应用程序。 见错误#1699772:Linux的图像4.4.0-81-通用的Linux系统的图像3.13.0-121泛型回归:许多用户空间的应用程序崩溃 。 解决的办法是与旧内核临时重新启动系统(Linux的图像3.13.0-119泛型在可信赖的/ Linux的图像4.4.0-78泛型在Xenial)。

Ubuntu的内核开发者会在几天内准备新的补丁 。

UPDATE:最新更新(至少图像4.4.0-83-通用的Linux系统的图像4.8.0-58-通用的Linux系统的图像4.10.0-26泛型)修复此漏洞和问题,与用户空间程式。



文章来源: Segmentation fault when starting jvm using jpype