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

底层jni,如何避免jvm crash?



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

1043 阅读
请先登录,再评论

回复列表

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

回复 Ryan🇨🇳:

文件是byte数组,没有保存到本地,一直存在的

回复
LetUsJava6月前

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

回复 小龙_412793:

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

回复
回复 PerfMa马哥:

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

回复
回复 小龙_412793:

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

回复
查看更多