GStreamer GPU driver crash when rendering to display and streaming over network

Hi there,

I have a pipeline where we tee in the gl path of the pipeline, where one branch goes to be rendered using glimagesink, and the other path is downloaded (gldownload) and sent to the v4l2h264enc element and sent over udpsink, as shown below:

gst-launch-1.0 v4l2src io-mode=4 ! video/x-raw,width=720,height=720,format=NV12 ! queue ! glupload ! glcolorconvert ! tee name=t t. ! queue ! glimagesink t. ! queue ! gldownload ! queue ! videoconvert ! v4l2h264enc extra-controls=“controls,h264_profile=4,video_bitrate=3000000” ! h264parse ! rtph264pay ! udpsink

However, I get very often driver freedreno driver crashes with this pipeline:

gst-launch-1.0: …/libdrm-2.4.94/freedreno/msm/msm_ringbuffer.c:178: current_cmd: Assertion `!LIST_IS_EMPTY(&msm_ring->cmd_list)’ failed.
Aborted

I was wondering if this is known behaviour?

I’m using Gstreamer 1.16, using the 4.14.96 kernel. This has been built using Yocto Thud (including mesa, wayland etc.)

Many thanks,

Does all the graphic session crash or just the gstreamer pipeline? any related output in /var/log/Xorg.0* ?

We’re using Wayland/Weston - only the gstreamer pipeline crashes, and I see an audit in dmesg of GstGlContext being the culprit.