Toybrick

标题: MPP库的硬解码随机出现多处段错误(Segmentation Fault) [打印本页]

作者: mtsh    时间: 2020-6-22 08:49
标题: MPP库的硬解码随机出现多处段错误(Segmentation Fault)
多个通道独立RTSP拉流并硬件码,执行几分钟到几十分钟后随机出现多处段错误(Segmentation Fault), 异常调用栈如附件所示,我是TB官网企业店ToyBrick TB-RK3399ProD的正式客户,项目已被阻断5个星期了,请尽快给出解决方案,多谢!


作者: mtsh    时间: 2020-6-22 08:51
版主,请勿删帖,如果有必要,请私信我,我会给你私发订单详情,多谢理解和配合!
作者: mtsh    时间: 2020-6-23 10:57
请MPP的开发高手分析一下段错误的调用栈,谢谢!
作者: jefferyzhang    时间: 2020-6-29 14:26
mpi_dec_test 运行正常么?
作者: mtsh    时间: 2020-6-29 15:50
本帖最后由 mtsh 于 2020-6-29 15:56 编辑

在单线程下运行mpi_dec_test正常,在多线程下每个线程单独进行按照mpi_dec_test的逻辑进行拉流解码存图就报如上段错误了, 是必须运行多线程版mpi_dec_mt_test才能避免以上段错误吧?
作者: mtsh    时间: 2020-6-29 16:17
jefferyzhang 发表于 2020-6-29 14:26
mpi_dec_test 运行正常么?


本帖最后由 mtsh 于 2020-6-29 15:56 编辑


在单线程下运行mpi_dec_test正常,在多线程下每个线程单独进行按照mpi_dec_test的逻辑进行拉流解码存图就报如上段错误了, 是必须运行多线程版mpi_dec_mt_test才能避免以上段错误吧?
作者: jefferyzhang    时间: 2020-6-29 16:31
mtsh 发表于 2020-6-29 16:17
本帖最后由 mtsh 于 2020-6-29 15:56 编辑

那就是你自己代码写的问题了。硬件就一个,ctx不变情况自己要做互斥,除非你ctx是不同的
作者: mtsh    时间: 2020-6-29 18:52
jefferyzhang 发表于 2020-6-29 16:31
那就是你自己代码写的问题了。硬件就一个,ctx不变情况自己要做互斥,除非你ctx是不同的 ...

每个线程的ctx都是不同的,独立的,这不影响多个线程共享同一个硬件吧。
作者: jefferyzhang    时间: 2020-6-29 20:16
mtsh 发表于 2020-6-29 18:52
每个线程的ctx都是不同的,独立的,这不影响多个线程共享同一个硬件吧。 ...

不影响
作者: mtsh    时间: 2020-6-30 11:57
按照readme我重新构建MPP库,但检测VPU的程序一运行就出错,请问我的VPU硬件出问题了吗?
==============================================
firefly2@firefly:~/mpp/build/linux/aarch64/test$ ./vpu_api_test
/*******  vpu api demo in *******/
usage: vpu_apiDemo [options] input_file,

Getting help:
-help  --print options of vpu api demo
firefly2@firefly:~/mpp/build/linux/aarch64/test$ sudo ./vpu_api_test
[sudo] password for firefly2:
/*******  vpu api demo in *******/
usage: vpu_apiDemo [options] input_file,

Getting help:
-help  --print options of vpu api demo
firefly2@firefly:~/mpp/build/linux/aarch64/test$ sudo ./vpu_api_test /home/firefly/Videos/video/box.mp4
/*******  vpu api demo in *******/
failed to open libvpu.so
vpu api demo fail, err: -1
firefly2@firefly:~/mpp/build/linux/aarch64/test$ sudo find / -name libvpu.so
find: ¡®/run/user/1000/gvfs¡¯: Permission denied





欢迎光临 Toybrick (http://t.rock-chips.com/) Powered by Discuz! X3.3