vaapi: crash in vaGetImage when mapping frame in xvimagesink, with iHD_drv_video
Describe your issue
Segv while trying to playback a mp4 file
Expected Behavior
no crash
Observed Behavior
Setup
- Operating System: Ubuntu 21.10
- Device: Computer
- GStreamer Version: 1.18.5
-
Command line:
gst-launch-1.0 playbin uri=file://file.mp4
Steps to reproduce the bug
- open terminal
- type
gst-launch-1.0 playbin uri=file://file.mp4
How reproducible is the bug?
Always
Screenshots if relevant
Solutions you have tried
Related non-duplicate issues
Additional Information
debug log attached. crash.log GDB session is below
gdb) run playbin uri=file:///file.mp4
Starting program: /usr/bin/gst-launch-1.0 playbin uri=file:///file.mp4
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Setting pipeline to PAUSED ...
[New Thread 0x7ffff623a640 (LWP 108607)]
Pipeline is PREROLLING ...
[New Thread 0x7ffff5a39640 (LWP 108608)]
[New Thread 0x7ffff4e4f640 (LWP 108609)]
[New Thread 0x7fffe7fff640 (LWP 108610)]
[New Thread 0x7fffe77fe640 (LWP 108611)]
[New Thread 0x7fffe6372640 (LWP 108612)]
[Thread 0x7fffe6372640 (LWP 108612) exited]
[New Thread 0x7fffe6372640 (LWP 108613)]
Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
[New Thread 0x7fffe5b71640 (LWP 108614)]
[New Thread 0x7fffe4b7a640 (LWP 108615)]
[New Thread 0x7fffd4a88640 (LWP 108616)]
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0";
[New Thread 0x7fffca797640 (LWP 108617)]
Redistribute latency...
[Thread 0x7fffd4a88640 (LWP 108616) exited]
[Thread 0x7fffe5b71640 (LWP 108614) exited]
[New Thread 0x7fffe5b71640 (LWP 108618)]
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Thread 13 "vqueue:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe5b71640 (LWP 108618)]
__memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:476
476 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:476
#1 0x00007fffe695baf9 in () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#2 0x00007ffff409438c in vaGetImage () at /lib/x86_64-linux-gnu/libva.so.2
#3 0x00007ffff40f6a49 in () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#4 0x00007ffff40f8e19 in () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#5 0x00007ffff64b1b6b in gst_video_frame_map_id () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#6 0x00007ffff522fb02 in () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstxvimagesink.so
#7 0x00007ffff638ccfc in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#8 0x00007ffff635ce10 in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#9 0x00007ffff7ee2fad in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#10 0x00007ffff7ee6549 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#11 0x00007ffff7ee696e in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#12 0x00007ffff7ecf173 in gst_proxy_pad_chain_default ()
at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#13 0x00007ffff7ee2fad in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#14 0x00007ffff7ee6549 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#15 0x00007ffff7ee696e in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#16 0x00007ffff636a51f in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#17 0x00007ffff7ee2fad in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#18 0x00007ffff7ee6549 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#19 0x00007ffff7ee696e in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#20 0x00007ffff636a51f in () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#21 0x00007ffff7ee2fad in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#22 0x00007ffff7ee6549 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#23 0x00007ffff7ee696e in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#24 0x00007ffff7ecf173 in gst_proxy_pad_chain_default ()
at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#25 0x00007ffff7ee2fad in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#26 0x00007ffff7ee6549 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#27 0x00007ffff7ee696e in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#28 0x00007ffff6280145 in () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#29 0x00007ffff7f0d577 in () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#30 0x00007ffff7da6654 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff7da3a81 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff7b35927 in start_thread (arg=<optimized out>) at pthread_create.c:435
#33 0x00007ffff7bc59e4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100