ncnn icon indicating copy to clipboard operation
ncnn copied to clipboard

openmp冲突引起crash

Open ljdang opened this issue 10 months ago • 0 comments

两个动态库test1.so和test2.so,其中test1.so链接了ncnn动态库,test2.so链接了opencv-mobile静态库,单独使用时,功能都是正常。在同一个app中引用,加载的时候会出现openmp冲突问题。

error log | 日志或报错信息 | ログ

backtrace: #00 pc 000000000005b710 /apex/com.android.runtime/lib64/bionic/libc.so (abort+168) (BuildId: cdb09e5d494726046776ac6d0238c81f) #01 pc 0000000000922fc8 /system/lib64/libncnn.so (__kmp_abort_process+52) (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #02 pc 0000000000921348 /system/lib64/libncnn.so (__kmp_fatal+128) (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #03 pc 000000000092a544 /system/lib64/libncnn.so (__kmp_register_library_startup()+572) (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #04 pc 0000000000921ea0 /system/lib64/libncnn.so (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #05 pc 000000000092a63c /system/lib64/libncnn.so (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #06 pc 000000000092a5f8 /system/lib64/libncnn.so (__kmp_middle_initialize+72) (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc) #07 pc 0000000000984cc0 /system/lib64/libncnn.so (omp_get_max_threads+36) (BuildId: f51a5f7850bbcdb568d4f5e4057d39c9192c83bc)

context | 编译/运行环境 | バックグラウンド

Android NDK21 ncnn-20230223-android-vulkan-shared opencv-mobile-4.8.1-android

替换成opencv-mobile-4.6.0-android版本不包含openmp,但是编译的时候需要自己链接openmp,不然编译不过 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -static-openmp")

替换成原生opencv,test2.so链接opencv动态库,这时候,一起加载是正常的

ljdang avatar Apr 17 '24 02:04 ljdang