android端ncnn推理崩溃

9vw9lbht  于 4个月前  发布在  Android
关注(0)|答案(4)|浏览(87)

detail | 详细描述 | 詳細な説明

运行环境,android 只有cpu, 通过jni 调用native c++函数。
模型通过pnnx 转换为 ncnn格式,在windows pc运行正常。
使用上述方法得到的模型,在android系统运行时,就会必定引发崩溃。

具体运行到 ex.extract("out0", out) 时前几次正常,但很快就会引发app崩溃。
SIGSEGV (signal SIGSEGV: invalid address (fault address: 0xfffffff0))

ncnn::conv3x3s1_winograd_gemm_transB_packed_tile(ncnn::Mat const&, ncnn::Mat const&, ncnn::Mat&, int, int, int, int, int, int) 0x000000008baedc40
ZN4ncnnL20conv3x3s1_winograd63ERKNS_3MatERS0_S2_S2_iRKNS_6OptionE.omp_outlined_debug_.8 0x000000008baf4dd6
::_ZN4ncnnL20conv3x3s1_winograd63ERKNS_3MatERS0_S2_S2_iRKNS_6OptionE.omp_outlined.9() 0x000000008baf4c7a
__kmp_invoke_microtask 0x000000008bcdb200

ukxgm1gy

ukxgm1gy3#

20240820版本也是会崩溃吗? https://github.com/Tencent/ncnn/releases/tag/20240820

是的,我就是用的20240820版本的,开始用的 ncnn-20240820-android.zip 但是和opencv一起编译时链接出错,于是自己从20240820的源码编译 -DNCNN_DISABLE_RTTI=OFF -DNCNN_DISABLE_EXCEPTION=OFF,然后用编译好的ncnn库就可以正常编译整个项目了,就出现了上述崩溃的问题。

5t7ly7z5

5t7ly7z54#

20240820版本也是会崩溃吗? https://github.com/Tencent/ncnn/releases/tag/20240820

放在另一台安卓设备是可以正常跑的,应该是和设备的cpu或android系统有关吧。我用nihui的 ncnn-android-squeezenet apk跑在问题设备上也有同样的问题,就是单帧图片是可以正常推理的,但连续多次点击时就会app崩溃

相关问题