ncnn
ncnn copied to clipboard
Segmentaion fault - yolov5 on Raspberry Pi 2
error log | 日志或报错信息 | ログ
$ gdb --args ./yolov5 ~/2022-05-06_12-08-16.jpg
GNU gdb (Raspbian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./yolov5...(no debugging symbols found)...done.
(gdb) r
Starting program: ./yolov5 ~/photo_2022-05-06_12-08-16.jpg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0x7287a200 (LWP 29362)]
[New Thread 0x72079200 (LWP 29363)]
[New Thread 0x71878200 (LWP 29364)]
Thread 3 "yolov5" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x72079200 (LWP 29363)]
0x0004e488 in ncnn::conv3x3s1_neon(ncnn::Mat const&, ncnn::Mat&, ncnn::Mat const&, ncnn::Mat const&, ncnn::Option const&) [clone ._omp_fn.17] ()
(gdb) bt
#0 0x0004e488 in ncnn::conv3x3s1_neon(ncnn::Mat const&, ncnn::Mat&, ncnn::Mat const&, ncnn::Mat const&, ncnn::Option const&) [clone ._omp_fn.17] ()
#1 0x00000000 in ()
context | 编译/运行环境 | バックグラウンド
Tried to run yolov5
on the Raspberry Pi 2.
Used the yolov5
from the examples folder in this repo.
how to reproduce | 复现步骤 | 再現方法
- build on Raspberry Pi 2 without vulcan support
-
cd ncnn/examples
- place the mode files in current folder:
yolov5s_6.0.bin
andyolov5s_6.0.param
-
gdb --args ./yolov5 ./some-image.jpg
more | 其他 | その他
look like conv3x3s1_neon in troubles; I suggest writing unit tests directly to test this part; checkout tests/ which have convolution Layer unit test; or just use range data to test /src/layer/arm/convolution_3x3.h, which include conv3x3s1_neon(); you can generate test data by pytorch or just use simple integer data;