sample_vi2venc2muxer 在V851S上崩溃
-
-
上电第一次运行这个sample的话,可以看到初始化了display,这个板子没有带屏,不知道是不是这里导致的fault
-
打印出现段错误,可以使用GDB来调试。方法如下:
- 在SDK目录下敲 make menuconfig,在弹出的面板中选择Developement,使能 gdb和gdbserver,然后一路退出保存,重新编译固件打包。
- 打包可能会提示xxx分区空间不足,打包失败,此时进入以下路径
device/config/chips/IC型号/configs/机器型号/linux
打开sys_partition_nor.fex,按把xxx分区的分配空间改成提示的size,再次打包。 - 给机器烧写刚打包生成的新固件。
- 每次运行sample出段错误退出后,在TF卡根目录下,会生成一个名字类似
coredump-xxxxxxxxxxxxxxx的文件。 - 敲入
gdb /xxx/xxxx/sample_vi2venc2muxer
core-file /xxx/xxxx/coredump-xxxxxxxxxxxxxxx
thread apply all bt
此时会显示具体运行出错在哪个源文件的哪一行代码。
敲q退出GDB。
-
@strugglingprogrammer
大佬好啊,这个gdb提供的信息不太够啊,我从V851s换V853了,为了避免内存不足。但是还是一样的效果。开发板用的100ask的
root@TinaLinux:/mnt/extsd# gdb -c coredump-isp_thread-1142-11-6017
GNU gdb (GDB) 10.1
Copyright (C) 2020 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-openwrt-linux”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
https://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”.warning: Can’t open file /dmabuf (deleted) during file-backed mapping note processing
[New LWP 1143]
[New LWP 1144]
[New LWP 1145]
[New LWP 1142]
[New LWP 1146]
Core was generated by `./sample_virvi2venc2muxer -path sample_vi2venc2muxer.conf’.
Program terminated with signal SIGSEGV, Segmentation fault.
–Type for more, q to quit, c to continue without paging–
#0 0xb6f13ce0 in ?? ()
[Current thread is 1 (LWP 1143)]
(gdb) -
-
@dingxmhan 大佬解决了吗,我也遇到同样问题
-
@dingxmhan 在gdb里面敲 thread apply all bt,没进一步的信息显示吗?
-
@dingxmhan 在sample_vi2venc2muxer.c里面每句AW_MPI_VENC_XXX()函数外面自己加打印,看看最后卡在哪个函数。之后试试注释掉这个函数不调用(一些功能即使不在外部修改,也会有内部默认值的),看看能否顺利跑下去。
-
打印都是堆栈指针,没有debug信息,是不是需要用menuconfig配置一些啥
root@TinaLinux:/mnt/extsd# gdb -c coredump-isp_thread-1142-11-6017
GNU gdb (GDB) 10.1
Copyright (C) 2020 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-openwrt-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
https://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".warning: Can't open file /dmabuf (deleted) during file-backed mapping note proce ssing
warning: Can't open file /lib/libunwind.so.8 during file-backed mapping note pro cessing
warning: Can't open file /lib/libglog.so.0.3.5 during file-backed mapping note p rocessing
[New LWP 1143]
[New LWP 1144]
[New LWP 1145]
[New LWP 1142]
[New LWP 1146]
Core was generated by `./sample_virvi2venc2muxer -path sample_vi2venc2muxer.conf '.
Program terminated with signal SIGSEGV, Segmentation fault.
--Type <RET> for more, q to quit, c to continue without paging--
#0 0xb6f13ce0 in ?? ()
[Current thread is 1 (LWP 1143)]
(gdb)
(gdb)
(gdb)
(gdb) thread apply all btThread 5 (LWP 1146):
#0 0xb6f16720 in ?? ()
#1 0x0003f9e0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 4 (LWP 1142):
#0 0xb6f06928 in ?? ()
#1 0xb6ea2124 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 3 (LWP 1145):
#0 0xb6f13ce0 in ?? ()
#1 0xb6f14814 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 2 (LWP 1144):
#0 0xb6f13ce0 in ?? ()
#1 0xb6f14814 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 1 (LWP 1143):
#0 0xb6f13ce0 in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--
#1 0xb6f14814 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
(gdb)
(gdb) -
@dingxm 在make menuconfig里面,进入Development,把 “gdb”和“gdbserver”使能了,应该就OK了。
-
@dingxm 可以试试sample_venc,这个是输入TF卡中的YUV文件,输出裸码流,代码流程上会简单一些。
-
@strugglingprogrammer 使能了的,不然没有gdb可用哇
-
@strugglingprogrammer 试了vi2venc也不行:https://forums.100ask.net/t/topic/3782 单独的venc的我再试试
-
@strugglingprogrammer 还是不行。换V853使用tina-v853-docker SDK编译也是一样的,是不是tina-open的源码库上加mpp模块的不是官网建议的?
-
@dingxmhan 楼主解决了吗?遇到同样的问题
-
@dingxmhan 楼主解决了吗?遇到同样的问题
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号