StationM2中播放h264在libgstreamer-1.0.so的gst_memory_unmap ()出现段...
红心萝卜_luozy
初级玩家
Station M2
2022-06-18 21:37
1140
0
StationM2中播放h264在libgstreamer-1.0.so的gst_memory_unmap ()出现段错误
我使用remote-viewer工具,在h264的解码过程中出现段错误,对应堆栈如下:
Thread 26 "vqueue:src" received signal SIGSEGV, Segmentation fault.
--Type <RET> for more, q to quit, c to continue without paging--
[Switching to Thread 0x7fc15fb950 (LWP 44492)]
0x0000007ff57f6824 in gst_memory_unmap () from /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
(gdb) bt
#0 0x0000007ff57f6824 in gst_memory_unmap () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#1 0x0000007ff57bd0ac in gst_buffer_unmap () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#2 0x0000007ff59a33fc in () at /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0
#3 0x0000007ff5996518 in gst_video_frame_unmap () at /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0
#4 0x0000007ff59a098c in () at /lib/aarch64-linux-gnu/libgstvideo-1.0.so.0
#5 0x0000007ff591ad40 in () at /lib/aarch64-linux-gnu/libgstbase-1.0.so.0
#6 0x0000007ff591a42c in () at /lib/aarch64-linux-gnu/libgstbase-1.0.so.0
#7 0x0000007ff57fb550 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#8 0x0000007ff57fd160 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#9 0x0000007ff58046ec in gst_pad_push () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#10 0x0000007ff591a534 in () at /lib/aarch64-linux-gnu/libgstbase-1.0.so.0
#11 0x0000007ff57fb550 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#12 0x0000007ff57fd160 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#13 0x0000007ff58046ec in gst_pad_push () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#14 0x0000007ff591a534 in () at /lib/aarch64-linux-gnu/libgstbase-1.0.so.0
#15 0x0000007ff57fb550 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#16 0x0000007ff57fd160 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#17 0x0000007ff58046ec in gst_pad_push () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#18 0x0000007ff591a534 in () at /lib/aarch64-linux-gnu/libgstbase-1.0.so.0
#19 0x0000007ff57fb550 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#20 0x0000007ff57fd160 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#21 0x0000007ff58046ec in gst_pad_push () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#22 0x0000007ff57e77e8 in gst_proxy_pad_chain_default () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#23 0x0000007ff57fb550 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#24 0x0000007ff57fd160 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#25 0x0000007ff58046ec in gst_pad_push () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#26 0x0000007fd07bf5b4 in () at /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#27 0x0000007ff5835b04 in () at /lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
#28 0x0000007ff7d3be18 in () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#29 0x0000007ff7d3b47c in () at /lib/aarch64-linux-gnu/libglib-2.0.so.0
#30 0x0000007ff6e63624 in start_thread (arg=0x7ff7d5ee30) at pthread_create.c:477
#31 0x0000007ff6dba49c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
异常调用链涉及的deb库有:libglib2.0-0 , libgstreamer1.0-0, libgstreamer-plugins-base1.0-0
libglib2.0-0: /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0
libgstreamer1.0-0: /usr/lib/aarch64-linux-gnu/libgstreamer-1.0.so.0
libgstreamer1.0-0: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
libgstreamer1.0-0: /usr/lib/aarch64-linux-gnu/libgstbase-1.0.so.0
libgstreamer-plugins-base1.0-0: /usr/lib/aarch64-linux-gnu/libgstvideo-1.0.so.0
经过排查验证,发现是libgstreamer-1.0.so.0使用了1.16.2-4ubuntu0.1firefly1新版本导致问题。
apt-get install libgstreamer-plugins-base1.0-0=1.16.2-4ubuntu0.1 如果降级、回退到开源版本,则不会出现段错误。
所以请排查一下libgstreamer-plugins-base1.0-0 (对应1.16.2-4ubuntu0.1firefly1版本) 的故障问题。
|
|
原创文章,作者:红心萝卜_luozy,如若转载,请注明出处:《 StationM2中播放h264在libgstreamer-1.0.so的gst_memory_unmap ()出现段... 》
gst-play-1.0播放视频文件出现异常。
环境描述
硬件stationM2,烧写的镜像文件:Station_M2_Ubuntu_20.04_GPT_eMMC_20211109_0910.zip
firefly@firefly:~/tempbin/movieTest$ uname -a
Linux firefly 4.19.193 #75 SMP Tue Nov 9 09:03:40 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
firefly@firefly:~/tempbin/movieTest$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
执行主要命令
apt update
apt upgrade
dpkg -r --force-all librga-dev librga2 解决rk3566 vpu解码报错问题
apt install -y librga2-rk356x librga-dev-rk356x 解决rk3566 vpu解码报错问题
再次更新
apt update
apt upgrade
播放视频,则会出现段异常
firefly@firefly:~/tempbin/movieTest$ gst-play-1.0 ./crowd_1920x1080_25fps_4000kbps_h265.mp4
按“k”键来显示键盘快捷键列表。
正在播放 /home/firefly/tempbin/movieTest/crowd_1920x1080_25fps_4000kbps_h265.mp4
WARNING Could not initialise Wayland output
WARNING debug information: gstwaylandsink.c(498): gst_wayland_sink_find_display (): /GstWaylandSink:waylandsink0:
Failed to create GstWlDisplay: 'Failed to connect to the wayland display '(default)''
mpp[2978]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[2978]: mpp_rt: NOT found ion allocator
mpp[2978]: mpp_rt: found drm allocator
mpp[2978]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[2978]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[2978]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[2978]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[2978]: mpp_buf_slot: set frame info: w 1920 h 1080 hor 2304 ver 1080
mpp[2978]: mpp_dec: setting default w 1920 h 1080 h_str 2304 v_str 1080
mpp[2978]: H265D_PARSER: extradata is encoded as hvcC format
rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
段错误0.0 / 0:00:06.0
如果回退libgstreamer-plugins-base1.0-0到开源版本,则gst-play-1.0 ./crowd_1920x1080_25fps_4000kbps_h265.mp4播放视频正常。
apt-get install libgstreamer-plugins-base1.0-0=1.16.2-4ubuntu0.1
请帮忙看看问题原因?
remote-viewer xxx.vv 连接远程spice桌面,播放几分钟就可以复现了
(我都是在一个客户端、服务器环境中,暂时不太好提取一个独立的小程序复现)
有点迷糊了...
```
apt install virt-viewer
remote-viewer xxx.vv 连接远程spice桌面,播放几分钟就可以复现了
```
你是说,M2 远程登陆到远程虚拟桌面,一段时间后会出现异常?
```
StationM2中播放h264在libgstreamer-1.0.so的gst_memory_unmap ()出现段错误
我使用remote-viewer工具,在h264的解码过程中出现段错误,对应堆栈如下:
```
这个又是什么情况?我试过在 M2 上通过 gst 命令播放电影,没有段错误现象。(库版本一致 1.16.2-4ubuntu0.1firefly1)
firefly@firefly:~/tempbin/movieTest$ gst-play-1.0 ./crowd_1920x1080_25fps_4000kbps_h265.mp4 可以复现故障
按“k”键来显示键盘快捷键列表。
正在播放 /home/firefly/tempbin/movieTest/crowd_1920x1080_25fps_4000kbps_h265.mp4
WARNING Could not initialise Wayland output
WARNING debug information: gstwaylandsink.c(498): gst_wayland_sink_find_display (): /GstWaylandSink:waylandsink0:
Failed to create GstWlDisplay: 'Failed to connect to the wayland display '(default)''
mpp[72342]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[72342]: mpp_rt: NOT found ion allocator
mpp[72342]: mpp_rt: found drm allocator
mpp[72342]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[72342]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[72342]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[72342]: mpp_info: mpp version: 8a85dc5d author: Herman Chen 2022-03-14 [mpp_enc]: Fix stuck on reset async mode encoder
mpp[72342]: mpp_buf_slot: set frame info: w 1920 h 1080 hor 2304 ver 1080
mpp[72342]: mpp_dec: setting default w 1920 h 1080 h_str 2304 v_str 1080
mpp[72342]: H265D_PARSER: extradata is encoded as hvcC format
rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
段错误
crowd_1920x1080_25fps_4000kbps_h265.zip
2022-7-2 22:21 上传
点击文件名下载附件
2.76 MB, 下载次数: 1
还是没能复现问题,可能我们需要确认一些细节。
你是用的 Station_M2_Ubuntu_20.04_GPT_eMMC_20211109_0910.img 这个固件吗?
你说 libgstreamer-plugins-base1.0-0:1.16.2-4ubuntu0.1firefly1 这个版本的插件会有问题,看你的信息,是手动更新了部分包,而不是 apt upgrade ?
我烧写固件后,apt update,apt upgrade,更新了系统的包,然后循环播放你发的视频一个多小时,并没有异常。
你把系统的包都更新下看看?apt upgrade
你好,我之前烧写的镜像是ROC-RK3566-PC-UBUNTU20.04-GPT-20211216-1031.img
换作你推荐的Station_M2_Ubuntu_20.04_GPT_eMMC_20211109_0910.img,再升级系统,就解决此故障了。
感谢你的热忱支持!
不好意思,我升级使用librga2-rk356x librga-dev-rk356x
在播放视频又出现段错误了
是不是你运行了其它什么程序有影响呢?
https://www.t-firefly.com/doc/download/106.html#other_459