[Bug 783172] New: Vaapi bug: Traceback when using vaapih264dec and vaapisink on Intel hardware

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun May 28 14:18:43 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=783172

            Bug ID: 783172
           Summary: Vaapi bug: Traceback when using vaapih264dec and
                    vaapisink on Intel hardware
    Classification: Platform
           Product: GStreamer
           Version: 1.12.0
                OS: Linux
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: gnome at genodeftest.de
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

Created attachment 352718
  --> https://bugzilla.gnome.org/attachment.cgi?id=352718&action=edit
A full backtrace from gdb attached to gst-launch-1.0

Using vaapih264dec/vaapisink fails:

$ LC_ALL=C gst-launch-1.0 -v filesrc location='Videofile.mp4'  ! qtdemux !
h264parse ! vaapih264dec ! vaapisink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'vaapisink0': gst.vaapi.Display=context,
gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayWayland\)\
vaapidisplaywayland1";
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264,
stream-format=(string)avc, alignment=(string)au, level=(string)3.1,
profile=(string)high,
codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c,
width=(int)720, height=(int)304, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
parsed=(boolean)true
/GstPipeline:pipeline0/GstVaapiDecode_h264:vaapidecode_h264-0.GstPad:sink: caps
= video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.1, profile=(string)high,
codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c,
width=(int)720, height=(int)304, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
parsed=(boolean)true
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps =
video/x-h264, stream-format=(string)avc, alignment=(string)au,
level=(string)3.1, profile=(string)high,
codec_data=(buffer)0164001fffe1001c6764001facd940b427b016a0c020c800000300080015f90078c18cb001000568ebecb22c,
width=(int)720, height=(int)304, framerate=(fraction)24/1,
pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecode_h264:vaapidecode_h264-0.GstPad:src: caps
= video/x-raw(memory:VASurface), format=(string)NV12, width=(int)720,
height=(int)304, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1
/GstPipeline:pipeline0/GstVaapiSink:vaapisink0.GstPad:sink: caps =
video/x-raw(memory:VASurface), format=(string)NV12, width=(int)720,
height=(int)304, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)24/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
wl_surface at 7: error 2: Failed to create a texture for surface 7: Unsupported
buffer format 12760
ERROR: from element /GstPipeline:pipeline0/GstVaapiSink:vaapisink0: Internal
error: could not render surface
Additional debug info:
gstvaapisink.c(1482): gst_vaapisink_show_frame_unlocked ():
/GstPipeline:pipeline0/GstVaapiSink:vaapisink0
Execution ended after 0:00:00.002143907
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Caught SIGSEGV
#0  0x00007f09b6d7cb27 in __waitpid (pid=26987,
stat_loc=stat_loc at entry=0x7fff5600731c, options=options at entry=0) at
../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x00007f09b73b4873 in g_on_error_stack_trace (prg_name=0x5580156bed24
"gst-launch-1.0") at gbacktrace.c:252
#2  0x00005580156be957 in fault_spin () at gst-launch.c:103
#3  0x00005580156be957 in fault_handler_sighandler (signum=11)
#4  0x00007f09b6d7d260 in <signal handler called> () at /lib64/libpthread.so.0
#5  0x00007f09b2b574f1 in decrease_closure_args_refcount
(closure=closure at entry=0x7f09a83ef990) at src/wayland-client.c:233
#6  0x00007f09b2b575bc in wl_event_queue_release
(queue=queue at entry=0x558017851c98) at src/wayland-client.c:268
#7  0x00007f09b2b585e2 in wl_display_disconnect (display=0x558017851bd0)
#8  0x00007f09b41f5d95 in gst_vaapi_display_wayland_close_display
(display=<optimized out>) at gstvaapidisplay_wayland.c:268
#9  0x00007f09b41b973d in gst_vaapi_display_destroy (display=0x55801787c230
[GstVaapiDisplayWayland]) at gstvaapidisplay.c:867
#10 0x00007f09b41b973d in gst_vaapi_display_finalize (object=0x55801787c230
[GstVaapiDisplayWayland]) at gstvaapidisplay.c:1014
#11 0x00007f09b78bff09 in g_object_unref (_object=0x55801787c230)
#12 0x00007f09b7b2c995 in gst_object_unref (object=<optimized out>)
#13 0x00007f09b7b2cbf0 in gst_object_replace
(oldobj=oldobj at entry=0x5580178635f8, newobj=newobj at entry=0x0) at
gstobject.c:340
#14 0x00007f09b41bb245 in gst_vaapi_display_replace
(old_display_ptr=old_display_ptr at entry=0x5580178635f8,
new_display=new_display at entry=0x0)
#15 0x00007f09b41c774e in gst_vaapi_video_pool_finalize (pool=0x5580178635e0)
#16 0x00007f09b41c0b1e in gst_vaapi_mini_object_free (object=0x5580178635e0)
#17 0x00007f09b41c0cb8 in gst_vaapi_mini_object_unref_internal
(object=<optimized out>) at gstvaapiminiobject.h:203
#18 0x00007f09b41c0cb8 in gst_vaapi_mini_object_replace
(old_object_ptr=old_object_ptr at entry=0x7f09a849c2c0,
new_object=new_object at entry=0x0)
#19 0x00007f09b41c7795 in gst_vaapi_video_pool_replace
(old_pool_ptr=old_pool_ptr at entry=0x7f09a849c2c0, new_pool=new_pool at entry=0x0)
at gstvaapivideopool.c:122
#20 0x00007f09b41a0260 in gst_vaapi_video_allocator_finalize
(object=0x7f09a849c040 [GstVaapiVideoAllocator]) at gstvaapivideomemory.c:646
#21 0x00007f09b78bff09 in g_object_unref (_object=0x7f09a849c040)
#22 0x00007f09b7b2c995 in gst_object_unref (object=<optimized out>)
#23 0x00007f09b7b3e1f9 in gst_buffer_pool_finalize (object=0x7f09a849e1f0
[GstVaapiVideoBufferPool]) at gstbufferpool.c:205
#24 0x00007f09b78bff09 in g_object_unref (_object=0x7f09a849e1f0)
#25 0x00007f09b41922ef in gst_vaapi_plugin_base_close
(plugin=plugin at entry=0x558017890b90) at gstvaapipluginbase.c:305
#26 0x00007f09b419011b in gst_vaapidecode_close (vdec=0x558017890b90
[GstVaapiDecode_h264]) at gstvaapidecode.c:1011
#27 0x00007f09b5406b82 in gst_video_decoder_change_state
(element=0x558017890b90 [GstVaapiDecode_h264],
transition=GST_STATE_CHANGE_READY_TO_NULL)
#28 0x00007f09b7b5929e in gst_element_change_state
(element=element at entry=0x558017890b90 [GstVaapiDecode_h264],
transition=transition at entry=GST_STATE_CHANGE_READY_TO_NULL) at
gstelement.c:2743
#29 0x00007f09b7b599d9 in gst_element_set_state_func (element=0x558017890b90
[GstVaapiDecode_h264], state=GST_STATE_NULL) at gstelement.c:2697
#30 0x00007f09b7b37ba2 in gst_bin_element_set_state (next=GST_STATE_NULL,
current=GST_STATE_READY, start_time=0, base_time=21634020651665,
element=0x558017890b90 [GstVaapiDecode_h264], bin=0x558017888070 [GstPipeline])
at gstbin.c:2589
#31 0x00007f09b7b37ba2 in gst_bin_change_state_func (element=0x558017888070
[GstPipeline], transition=GST_STATE_CHANGE_READY_TO_NULL) at gstbin.c:2931
#32 0x00007f09b7b7e18a in gst_pipeline_change_state (element=0x558017888070
[GstPipeline], transition=GST_STATE_CHANGE_READY_TO_NULL) at gstpipeline.c:500
#33 0x00007f09b7b5929e in gst_element_change_state
(element=element at entry=0x558017888070 [GstPipeline],
transition=transition at entry=GST_STATE_CHANGE_READY_TO_NULL) at
gstelement.c:2743
#34 0x00007f09b7b599d9 in gst_element_set_state_func (element=0x558017888070
[GstPipeline], state=GST_STATE_NULL) at gstelement.c:2697
#35 0x00005580156bc64b in main (argc=<optimized out>, argv=<optimized out>)
Spinning.  Please run 'gdb gst-launch-1.0 26984' to continue debugging, Ctrl-C
to quit, or Ctrl-\ to dump core.

I attached the debugger and got this backtrace (long version attached):

Truncated backtrace:
#0  0x00007f09186d67dd in nanosleep () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f0918d61c5f in g_usleep (microseconds=<optimized out>)
    at gtimer.c:259
#2  0x000055d30beb098a in fault_spin () at gst-launch.c:113
#3  0x000055d30beb098a in fault_handler_sighandler (signum=11)
    at gst-launch.c:94
#4  0x00007f09186d7260 in <signal handler called> () at /lib64/libpthread.so.0
#5  0x00007f090d9174f1 in decrease_closure_args_refcount
(closure=closure at entry=0x7f090442eee0) at src/wayland-client.c:233
#6  0x00007f090d9175bc in wl_event_queue_release
(queue=queue at entry=0x55d30e060358) at src/wayland-client.c:268
#7  0x00007f090d9185e2 in wl_display_disconnect (display=0x55d30e060290)
    at src/wayland-client.c:1041
#8  0x00007f090efb5d95 in gst_vaapi_display_wayland_close_display
(display=<optimized out>) at gstvaapidisplay_wayland.c:268
#9  0x00007f090ef7973d in gst_vaapi_display_destroy (display=0x55d30e08d230
[GstVaapiDisplayWayland]) at gstvaapidisplay.c:867
#10 0x00007f090ef7973d in gst_vaapi_display_finalize (object=0x55d30e08d230
[GstVaapiDisplayWayland]) at gstvaapidisplay.c:1014
#11 0x00007f0919219f09 in g_object_unref (_object=0x55d30e08d230)
    at gobject.c:3185
#12 0x00007f0919486995 in gst_object_unref (object=<optimized out>)
    at gstobject.c:266

Installed software versions:
gstreamer1-plugins-good-1.12.0-1.fc26.x86_64
gstreamer1-vaapi-1.12.0-1.fc26.x86_64
libva-1.8.2-1.fc26.x86_64
libva-intel-driver-1.8.2-1.fc26.x86_64
glib2-2.52.2-2.fc26.x86_64

$ vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Desktop - 1.8.2
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileNone                   :    VAEntrypointVideoProc

Additional info:
Same pipeline works fine if replacing "vaapisink" by "fakesink".

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list