OpenCL后端崩溃
在vivo x90上使用OpenCL后端推理出现崩溃,在其他手机(如huawei mate 40)则正常
MNN 版本:3.0.0 Commit ID: 707b8a41b25e3d0b7c4a39cd81109d7074ca3c28 设备:vivo X90 SoC:MTK 9200 OS: Origin OS 4
错误日志:
04-14 17:50:55.314 20316 20316 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 20316 (mytest), pid 20316 (mytest)
04-14 17:50:55.314 20316 20316 I libc : clone child process pid:20337
04-14 17:50:55.315 20316 20316 I libc : debuggerd pseudothread crash_process: 20316
04-14 17:50:55.362 20339 20339 F DEBUG : Softversion: PD2241B_A_14.1.9.6.W10.V000L1
04-14 17:50:55.362 20339 20339 F DEBUG : Time: 2025-04-14 17:50:55
04-14 17:50:55.362 20339 20339 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
04-14 17:50:55.362 20339 20339 F DEBUG : Build fingerprint: 'vivo/PD2241/PD2241:14/UP1A.231005.007/compiler01031633:user/release-keys'
04-14 17:50:55.362 20339 20339 F DEBUG : Revision: '0'
04-14 17:50:55.362 20339 20339 F DEBUG : ABI: 'arm64'
04-14 17:50:55.362 20339 20339 F DEBUG : Timestamp: 2025-04-14 17:50:55.346375754+0800
04-14 17:50:55.362 20339 20339 F DEBUG : Process uptime: 5s
04-14 17:50:55.362 20339 20339 F DEBUG : Cmdline: bin/mytest --gtest_filter=mnn_runtime.*
04-14 17:50:55.362 20339 20339 F DEBUG : pid: 20316, tid: 20316, name: mytest >>> bin/mytest <<<
04-14 17:50:55.362 20339 20339 F DEBUG : uid: 2000
04-14 17:50:55.362 20339 20339 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
04-14 17:50:55.362 20339 20339 F DEBUG : pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY)
04-14 17:50:55.362 20339 20339 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
04-14 17:50:55.362 20339 20339 F DEBUG : Cause: null pointer dereference
04-14 17:50:55.362 20339 20339 F DEBUG : x0 0000000000000029 x1 0000000000001012 x2 0000000000000008 x3 0000007ffb7fa460
04-14 17:50:55.362 20339 20339 F DEBUG : x4 0000000000000010 x5 b4000079fc611049 x6 0000000000000020 x7 6d726f6674616c50
04-14 17:50:55.362 20339 20339 F DEBUG : x8 0000000000000000 x9 3d5ec7613ce79df0 x10 0000000000004f5c x11 0000000000004f5c
04-14 17:50:55.362 20339 20339 F DEBUG : x12 000000000000016a x13 0000000000000000 x14 0000000000000001 x15 0000007b3c68e780
04-14 17:50:55.362 20339 20339 F DEBUG : x16 0000007b3c789958 x17 0000007b3c779d40 x18 0000000000000003 x19 0000000000000004
04-14 17:50:55.362 20339 20339 F DEBUG : x20 b40000795c606f6c x21 0000000000000000 x22 0000007ffb7fa4a8 x23 b40000795c606ea0
04-14 17:50:55.362 20339 20339 F DEBUG : x24 0000007b49c0a010 x25 0000007ffb7fa460 x26 b40000795c606e80 x27 0000000000000000
04-14 17:50:55.362 20339 20339 F DEBUG : x28 0000007ffb7fa460 x29 0000000000000000
04-14 17:50:55.362 20339 20339 F DEBUG : lr 0000007b418c8a20 sp 0000007ffb7fa350 pc 0000007b418c8a48 pst 0000000060001000
04-14 17:50:55.362 20339 20339 F DEBUG : 23 total frames
04-14 17:50:55.362 20339 20339 F DEBUG : backtrace:
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: Function names and BuildId information is missing for some frames due
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: to unreadable libraries. For unwinds of apps, only shared libraries
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: found under the lib/ directory are readable.
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: On this device, run setenforce 0 to make the libraries readable.
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: Unreadable libraries:
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/lib/libnn.so
04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #00 pc 00000000002a1a48 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #01 pc 000000000028d7f4 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #02 pc 0000000000295128 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #03 pc 00000000001621b0 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #04 pc 0000000000162cec /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #05 pc 0000000000119c58 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #06 pc 0000000000119b10 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #07 pc 000000000011a810 /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #08 pc 0000000000117bec /data/local/tmp/mnn/lib/libMNN.so
04-14 17:50:55.362 20339 20339 F DEBUG : #09 pc 000000000024877c /data/local/tmp/mnn/lib/libnn.so
04-14 17:50:55.362 20339 20339 F DEBUG : #10 pc 000000000024a208 /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #11 pc 0000000000236460 /data/local/tmp/mnn/lib/libnn.so
04-14 17:50:55.362 20339 20339 F DEBUG : #12 pc 0000000000237bb4 /data/local/tmp/mnn/lib/libnn.so
04-14 17:50:55.362 20339 20339 F DEBUG : #13 pc 0000000000238f6c /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #14 pc 000000000025c6cc /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #15 pc 000000000025c614 /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #16 pc 000000000025d5fc /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #17 pc 000000000025e14c /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #18 pc 000000000026e1f0 /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #19 pc 000000000026d994 /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #20 pc 000000000026d7dc /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #21 pc 000000000021cb9c /data/local/tmp/mnn/bin/mytest
04-14 17:50:55.362 20339 20339 F DEBUG : #22 pc 000000000009dbf8 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104) (BuildId: 35647bdbfd4abaae505972042de0d304)
解析崩溃栈:
addr2line -f -e ./lib/libMNN.so 00000000002a1a48 000000000028d7f4 0000000000295128 00000000001621b0 0000000000162cec 0000000000119c58 0000000000119b10 000000000011a810
_ZN2cl6detail15GetInfoFunctor0IPFiP13_cl_device_idjmPvPmES3_EclEjmS4_S5_
/code/nn/mnn/mnn/3rd_party/OpenCLHeaders/CL/cl2.hpp:1425
_ZN3MNN6OpenCL9CLRuntimeC2ERKNS_7Backend4InfoEiiiPvS6_
/code/nn/mnn/mnn/source/backend/opencl/core/OpenCLBackend.cpp:43
_ZNK3MNN6OpenCL16CLRuntimeCreator8onCreateERKNS_7Backend4InfoE
/code/nn/mnn/mnn/source/backend/opencl/core/OpenCLBackend.cpp:1173
_ZN3MNN25MNNGetExtraRuntimeCreatorE14MNNForwardType
/code/nn/mnn/mnn/source/core/Backend.cpp:88
_ZN3MNN8Schedule17getApprociateTypeERKNS_14ScheduleConfigE
/code/nn/mnn/mnn/source/core/Schedule.cpp:134
_ZN3MNN11Interpreter13createRuntimeERKNSt6__ndk16vectorINS_14ScheduleConfigENS1_9allocatorIS3_EEEE
/code/nn/mnn/mnn/source/core/Interpreter.cpp:622
_ZN3MNN11Interpreter22createMultiPathSessionERKNSt6__ndk16vectorINS_14ScheduleConfigENS1_9allocatorIS3_EEEE
/code/nn/mnn/mnn/source/core/Interpreter.cpp:242
_ZN3MNN11Interpreter13createSessionERKNS_14ScheduleConfigE
/code/nn/mnn/mnn/source/core/Interpreter.cpp:354
崩溃指向:https://github.com/alibaba/MNN/blob/707b8a41b25e3d0b7c4a39cd81109d7074ca3c28/3rd_party/OpenCLHeaders/CL/cl2.hpp#L1425
我们看一下
请问这个问题有分析出结果吗?
方便提供模型我们这边复现一下吗
在vivo x90上使用OpenCL后端推理出现崩溃,在其他手机(如huawei mate 40)则正常
MNN 版本:3.0.0 Commit ID: 707b8a4 设备:vivo X90 SoC:MTK 9200 OS: Origin OS 4
错误日志:
04-14 17:50:55.314 20316 20316 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 20316 (mytest), pid 20316 (mytest) 04-14 17:50:55.314 20316 20316 I libc : clone child process pid:20337 04-14 17:50:55.315 20316 20316 I libc : debuggerd pseudothread crash_process: 20316 04-14 17:50:55.362 20339 20339 F DEBUG : Softversion: PD2241B_A_14.1.9.6.W10.V000L1 04-14 17:50:55.362 20339 20339 F DEBUG : Time: 2025-04-14 17:50:55 04-14 17:50:55.362 20339 20339 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 04-14 17:50:55.362 20339 20339 F DEBUG : Build fingerprint: 'vivo/PD2241/PD2241:14/UP1A.231005.007/compiler01031633:user/release-keys' 04-14 17:50:55.362 20339 20339 F DEBUG : Revision: '0' 04-14 17:50:55.362 20339 20339 F DEBUG : ABI: 'arm64' 04-14 17:50:55.362 20339 20339 F DEBUG : Timestamp: 2025-04-14 17:50:55.346375754+0800 04-14 17:50:55.362 20339 20339 F DEBUG : Process uptime: 5s 04-14 17:50:55.362 20339 20339 F DEBUG : Cmdline: bin/mytest --gtest_filter=mnn_runtime.* 04-14 17:50:55.362 20339 20339 F DEBUG : pid: 20316, tid: 20316, name: mytest >>> bin/mytest <<< 04-14 17:50:55.362 20339 20339 F DEBUG : uid: 2000 04-14 17:50:55.362 20339 20339 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE) 04-14 17:50:55.362 20339 20339 F DEBUG : pac_enabled_keys: 000000000000000f (PR_PAC_APIAKEY, PR_PAC_APIBKEY, PR_PAC_APDAKEY, PR_PAC_APDBKEY) 04-14 17:50:55.362 20339 20339 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000 04-14 17:50:55.362 20339 20339 F DEBUG : Cause: null pointer dereference 04-14 17:50:55.362 20339 20339 F DEBUG : x0 0000000000000029 x1 0000000000001012 x2 0000000000000008 x3 0000007ffb7fa460 04-14 17:50:55.362 20339 20339 F DEBUG : x4 0000000000000010 x5 b4000079fc611049 x6 0000000000000020 x7 6d726f6674616c50 04-14 17:50:55.362 20339 20339 F DEBUG : x8 0000000000000000 x9 3d5ec7613ce79df0 x10 0000000000004f5c x11 0000000000004f5c 04-14 17:50:55.362 20339 20339 F DEBUG : x12 000000000000016a x13 0000000000000000 x14 0000000000000001 x15 0000007b3c68e780 04-14 17:50:55.362 20339 20339 F DEBUG : x16 0000007b3c789958 x17 0000007b3c779d40 x18 0000000000000003 x19 0000000000000004 04-14 17:50:55.362 20339 20339 F DEBUG : x20 b40000795c606f6c x21 0000000000000000 x22 0000007ffb7fa4a8 x23 b40000795c606ea0 04-14 17:50:55.362 20339 20339 F DEBUG : x24 0000007b49c0a010 x25 0000007ffb7fa460 x26 b40000795c606e80 x27 0000000000000000 04-14 17:50:55.362 20339 20339 F DEBUG : x28 0000007ffb7fa460 x29 0000000000000000 04-14 17:50:55.362 20339 20339 F DEBUG : lr 0000007b418c8a20 sp 0000007ffb7fa350 pc 0000007b418c8a48 pst 0000000060001000 04-14 17:50:55.362 20339 20339 F DEBUG : 23 total frames 04-14 17:50:55.362 20339 20339 F DEBUG : backtrace: 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: Function names and BuildId information is missing for some frames due 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: to unreadable libraries. For unwinds of apps, only shared libraries 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: found under the lib/ directory are readable. 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: On this device, run setenforce 0 to make the libraries readable. 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: Unreadable libraries: 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/lib/libnn.so 04-14 17:50:55.362 20339 20339 F DEBUG : NOTE: /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #00 pc 00000000002a1a48 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #01 pc 000000000028d7f4 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #02 pc 0000000000295128 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #03 pc 00000000001621b0 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #04 pc 0000000000162cec /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #05 pc 0000000000119c58 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #06 pc 0000000000119b10 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #07 pc 000000000011a810 /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #08 pc 0000000000117bec /data/local/tmp/mnn/lib/libMNN.so 04-14 17:50:55.362 20339 20339 F DEBUG : #09 pc 000000000024877c /data/local/tmp/mnn/lib/libnn.so 04-14 17:50:55.362 20339 20339 F DEBUG : #10 pc 000000000024a208 /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #11 pc 0000000000236460 /data/local/tmp/mnn/lib/libnn.so 04-14 17:50:55.362 20339 20339 F DEBUG : #12 pc 0000000000237bb4 /data/local/tmp/mnn/lib/libnn.so 04-14 17:50:55.362 20339 20339 F DEBUG : #13 pc 0000000000238f6c /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #14 pc 000000000025c6cc /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #15 pc 000000000025c614 /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #16 pc 000000000025d5fc /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #17 pc 000000000025e14c /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #18 pc 000000000026e1f0 /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #19 pc 000000000026d994 /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #20 pc 000000000026d7dc /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #21 pc 000000000021cb9c /data/local/tmp/mnn/bin/mytest 04-14 17:50:55.362 20339 20339 F DEBUG : #22 pc 000000000009dbf8 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104) (BuildId: 35647bdbfd4abaae505972042de0d304)解析崩溃栈:
addr2line -f -e ./lib/libMNN.so 00000000002a1a48 000000000028d7f4 0000000000295128 00000000001621b0 0000000000162cec 0000000000119c58 0000000000119b10 000000000011a810 _ZN2cl6detail15GetInfoFunctor0IPFiP13_cl_device_idjmPvPmES3_EclEjmS4_S5_ /code/nn/mnn/mnn/3rd_party/OpenCLHeaders/CL/cl2.hpp:1425 _ZN3MNN6OpenCL9CLRuntimeC2ERKNS_7Backend4InfoEiiiPvS6_ /code/nn/mnn/mnn/source/backend/opencl/core/OpenCLBackend.cpp:43 _ZNK3MNN6OpenCL16CLRuntimeCreator8onCreateERKNS_7Backend4InfoE /code/nn/mnn/mnn/source/backend/opencl/core/OpenCLBackend.cpp:1173 _ZN3MNN25MNNGetExtraRuntimeCreatorE14MNNForwardType /code/nn/mnn/mnn/source/core/Backend.cpp:88 _ZN3MNN8Schedule17getApprociateTypeERKNS_14ScheduleConfigE /code/nn/mnn/mnn/source/core/Schedule.cpp:134 _ZN3MNN11Interpreter13createRuntimeERKNSt6__ndk16vectorINS_14ScheduleConfigENS1_9allocatorIS3_EEEE /code/nn/mnn/mnn/source/core/Interpreter.cpp:622 _ZN3MNN11Interpreter22createMultiPathSessionERKNSt6__ndk16vectorINS_14ScheduleConfigENS1_9allocatorIS3_EEEE /code/nn/mnn/mnn/source/core/Interpreter.cpp:242 _ZN3MNN11Interpreter13createSessionERKNS_14ScheduleConfigE /code/nn/mnn/mnn/source/core/Interpreter.cpp:354
请问下,这个崩溃栈怎么弄出来的呢?我用addr2line 显示了一堆问号
Marking as stale. No activity in 60 days.