求助>底层jni,如何避免jvm crash?>
6回复

底层jni,如何避免jvm crash?



我使用Javacv时,有一定几率会出现jvm crash.因为Javacv是通过jni底层调用的C++写的openCV代码的.没法调试.
是否有什么方式可以避免出问题时候,直接jvm crash.而可以通过捕获异常进行处理呢?
hs_err_pid4377.log

702 阅读
请先登录,再评论

回复列表

image.png
看到了FileNotFoundException,提供一种解题思路,是不是访问过程中,文件不存在了,造成的crash?

LetUsJava2周前

这个和JVM没关系吧,主要是openCV的bug,可以看看是不是这个问题
https://github.com/opencv/opencv/issues/15691

回复 小龙_412793:

你可以尝试设置个 SIGSEGV 的信号处理函数,但是这种做法不好之处在于,JVM 如果之前设置了 sig handler,就会被你覆盖掉,比如:默认会产生 dump 文件,你重新设置过之后,就不会产生 dump 文件了。

回复
回复 小马2017:

好吧,不行我换版本再试试. 谢谢啦~

回复
小马20172周前
回复 小龙_412793:

从crash的日志来看,这个JVM也没办法,因为crash的位置是openCV的动态库里访问了一个非法地址,JVM是控制不了的

回复
查看更多