Toybrick

标题: mpp崩溃问题 [打印本页]

作者: kispr    时间: 2022-7-19 17:05
标题: mpp崩溃问题
本帖最后由 kispr 于 2022-7-19 17:07 编辑

关于mpp解码4路崩溃的问题
*平台 RK3399Pro

*环境
系统内核:Linux debian10.toybrick 4.4.194-bRK3399Pro-Linux4-EMB-3532-V3.0-SHYM-g90d6dee
mpp版本:
toybrick@debian10:~$ dpkg -l | grep mpp
ii  rockchip-mpp                          1.4.0-5                                 arm64        Rockchip mpp Libraries
ii  rockchip-mpp-dev                      1.4.0-5                                 arm64        Development package for Rockchip mpp Libraries
toybrick@debian10:~$

解码分辨率:4路1920*1080视频流


复现步骤和问题:
1. gdb启动程序,解码4路rtsp流并显示
2. 一段时间(约2小时)后程序崩溃,程序堆栈显示mpp错误。

堆栈日志:
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
mpp[30014]: mpp_log: MppDecoderDequeueFrame Get errror frame or discard frame
[Detaching after fork from child process 31296]
[Detaching after fork from child process 31297]
[Detaching after fork from child process 31298]
[Detaching after fork from child process 31299]
[Detaching after fork from child process 31303]
[Detaching after fork from child process 31304]
[Detaching after fork from child process 31305]
[Detaching after fork from child process 31306]
[Detaching after fork from child process 31307]
[Detaching after fork from child process 31308]
[Detaching after fork from child process 31309]
[Detaching after fork from child process 31310]
[Detaching after fork from child process 31312]
[Detaching after fork from child process 31313]
[Detaching after fork from child process 31314]
[Detaching after fork from child process 31315]
[Detaching after fork from child process 31316]
[Detaching after fork from child process 31317]
[Detaching after fork from child process 31318]
[Detaching after fork from child process 31319]
[Detaching after fork from child process 31322]
[Detaching after fork from child process 31323]
[Detaching after fork from child process 31324]
[Detaching after fork from child process 31325]
[Detaching after fork from child process 31326]
[Detaching after fork from child process 31327]
[Detaching after fork from child process 31328]
[Detaching after fork from child process 31329]

[Switching to Thread 0x7eacfe8f70 (LWP 30165)]
0x0000007fb5ed4070 in parse_prepare () from lib/librockchip_mpp.so.1
(gdb)
(gdb) bt
#0  0x0000007fb5ed4070 in parse_prepare () from lib/librockchip_mpp.so.1
#1  0x0000007fb5ed286c in h264d_prepare () from lib/librockchip_mpp.so.1
#2  0x0000007fb5ea2ae4 in mpp_dec_parser_thread(void*) ()
   from lib/librockchip_mpp.so.1
#3  0x0000007fb3d287e4 in start_thread (arg=0x7fa1959a1f)
    at pthread_create.c:486
#4  0x0000007fb3a12adc in thread_start ()
    at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

(gdb)
程序mpp调用代码片段如下:
m_pMppDecoder->ops->enqueue(lpModule->m_pMppDecoder, (uchar*)lpBuffer, dwBufferSize);








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