MNN icon indicating copy to clipboard operation
MNN copied to clipboard

OpenCL后端崩溃

Open lucaslv404 opened this issue 8 months ago • 5 comments

在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

lucaslv404 avatar Apr 14 '25 11:04 lucaslv404

崩溃指向:https://github.com/alibaba/MNN/blob/707b8a41b25e3d0b7c4a39cd81109d7074ca3c28/3rd_party/OpenCLHeaders/CL/cl2.hpp#L1425

lucaslv404 avatar Apr 14 '25 11:04 lucaslv404

我们看一下

jxt1234 avatar Apr 14 '25 11:04 jxt1234

请问这个问题有分析出结果吗?

lucaslv404 avatar Apr 21 '25 11:04 lucaslv404

方便提供模型我们这边复现一下吗

Qxinyu avatar May 07 '25 03:05 Qxinyu

在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 显示了一堆问号

yangy996 avatar May 15 '25 02:05 yangy996

Marking as stale. No activity in 60 days.

github-actions[bot] avatar Jul 14 '25 09:07 github-actions[bot]