[Bug 767437] segfault in gst_element_set_context_default (through vaapi)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 13 08:56:31 UTC 2016


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

--- Comment #15 from djcb at djcbsoftware.nl ---
Below is the backtrace with fatal-warnings; and I can confirm that I can
reproduce this with 1.8.1, but not with master - so seems it's fixed already.

gdb% bt
#0  0x00007ffff5f3719b in g_logv () from /lib64/libglib-2.0.so.0
#1  0x00007ffff5f3730f in g_log () from /lib64/libglib-2.0.so.0
#2  0x00007fff9cbbd9b2 in gst_vaapi_video_context_get_display ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#3  0x00007fff9cbb474c in plugin_set_context ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#4  0x00007fff9cbbd8c2 in _gst_context_get_from_query.part.1 ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#5  0x00007fff9cbbdc30 in gst_vaapi_video_context_prepare ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#6  0x00007fff9cbb6657 in gst_vaapi_ensure_display ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#7  0x00007fff9cbb4b8c in gst_vaapi_plugin_base_ensure_display ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#8  0x00007fff9cbb33f3 in gst_vaapidecode_open ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#9  0x00007ffff795ac05 in gst_video_decoder_change_state
(element=0x7fffac3c8590, 
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstvideodecoder.c:2533
#10 0x00007ffff6ab0a7e in gst_element_change_state (
    element=element at entry=0x7fffac3c8590, 
    transition=transition at entry=GST_STATE_CHANGE_NULL_TO_READY)
    at gstelement.c:2650
#11 0x00007ffff6ab11ef in gst_element_set_state_func (element=0x7fffac3c8590, 
    state=GST_STATE_READY) at gstelement.c:2604
#12 0x00007ffff6a8fb7d in gst_bin_element_set_state (next=GST_STATE_READY, 
    current=GST_STATE_NULL, start_time=0, base_time=181076728017212, 
    element=0x7fffac3c8590, bin=0x7fffac3c7080) at gstbin.c:2542
#13 gst_bin_change_state_func (element=0x7fffac3c7080, 
    transition=GST_STATE_CHANGE_NULL_TO_READY) at gstbin.c:2884
#14 0x00007fff9cbbf234 in gst_vaapi_decode_bin_change_state ()
   from /usr/lib64/gstreamer-1.0/libgstvaapi.so
#15 0x00007ffff6ab0a7e in gst_element_change_state (
    element=element at entry=0x7fffac3c7080, 
    transition=transition at entry=GST_STATE_CHANGE_NULL_TO_READY)
    at gstelement.c:2650
#16 0x00007ffff6ab11ef in gst_element_set_state_func (element=0x7fffac3c7080, 
    state=GST_STATE_READY) at gstelement.c:2604
#17 0x00007fffee5c0b2f in connect_pad ()
---Type <return> to continue, or q <return> to quit---
  k.so
#18 0x00007fffee5cc3f2 in analyze_new_pad () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#19 0x00007fffee5ccc92 in pad_added_cb () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#20 0x00007fffee5ccedf in caps_notify_cb () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#21 0x00007ffff62043e8 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#22 0x00007ffff62164a2 in signal_emit_unlocked_R () from
/lib64/libgobject-2.0.so.0
#23 0x00007ffff621f12d in g_signal_emit_valist () from
/lib64/libgobject-2.0.so.0
#24 0x00007ffff621f4ff in g_signal_emit () from /lib64/libgobject-2.0.so.0
#25 0x00007ffff6208814 in g_object_dispatch_properties_changed () from
/lib64/libgobject-2.0.so.0
#26 0x00007ffff6a85424 in gst_object_dispatch_properties_changed
(object=0x7fffac018050, n_pspecs=1, pspecs=0x7fffd75dadc0)
    at gstobject.c:455
#27 0x00007ffff620ae3c in g_object_notify_by_pspec () from
/lib64/libgobject-2.0.so.0
#28 0x00007ffff6ac3cf4 in store_sticky_event (pad=pad at entry=0x7fffac018050,
event=event at entry=0x7fffac002520) at gstpad.c:5094
#29 0x00007ffff6acf860 in gst_pad_push_event (pad=pad at entry=0x7fffac018050,
event=0x7fffac002520) at gstpad.c:5371
#30 0x00007ffff6dbbfe6 in gst_pad_set_caps (caps=0x7fffd01ba680,
pad=0x7fffac018050) at ../../../gst/gstcompat.h:58
#31 gst_base_transform_setcaps (trans=trans at entry=0x7fffe8040f60,
pad=<optimized out>, incaps=<optimized out>)
    at gstbasetransform.c:1387
#32 0x00007ffff6dbd32d in gst_base_transform_sink_eventfunc
(trans=0x7fffe8040f60, event=0x7fffac0024b0)
    at gstbasetransform.c:1939
#33 0x00007fffe4b7e531 in gst_capsfilter_sink_event () from
/usr/lib64/gstreamer-1.0/libgstcoreelements.so
#34 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010d490, event=event at entry=0x7fffac0024b0, 
    type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5594
#35 0x00007ffff6ac549e in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffd010d250, event=0x7fffac0024b0, 
    type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#36 0x00007ffff6ac58a0 in push_sticky (pad=pad at entry=0x7fffd010d250,
ev=ev at entry=0x7fffd75db1b0, 
    user_data=user_data at entry=0x7fffd75db210) at gstpad.c:3797
#37 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffd010d250,
func=func at entry=0x7ffff6ac5750 <push_sticky>, 
    user_data=user_data at entry=0x7fffd75db210) at gstpad.c:603
#38 0x00007ffff6acf9b1 in check_sticky (event=0x7fffac0024b0,
pad=0x7fffd010d250) at gstpad.c:3854
#39 gst_pad_push_event (pad=0x7fffd010d250, event=0x7fffac0024b0) at
gstpad.c:5383
#40 0x00007fff9d09a863 in gst_h264_parse_update_src_caps () from
/usr/lib64/gstreamer-1.0/libgstvideoparsersbad.so
#41 0x00007fff9d09c743 in gst_h264_parse_set_caps () from
/usr/lib64/gstreamer-1.0/libgstvideoparsersbad.so
#42 0x00007ffff6d9e783 in gst_base_parse_sink_event_default
(parse=0x7fffac010ba0, event=0x7fffac0028e0)
    at gstbaseparse.c:1186
#43 0x00007fff9d098b26 in gst_h264_parse_event () from
/usr/lib64/gstreamer-1.0/libgstvideoparsersbad.so
#44 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010d010, event=event at entry=0x7fffac0028e0, 
    type=<optimized out>) at gstpad.c:5594
#45 0x00007ffff6acfc29 in gst_pad_send_event (pad=0x7fffd010d010,
event=0x7fffac0028e0) at gstpad.c:5764
#46 0x00007fffee5c3b48 in send_sticky_event () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#47 0x00007ffff6ac25d9 in foreach_dispatch_function
(pad=pad at entry=0x7fffd010cdd0, ev=ev at entry=0x7fffd75db780, 
    user_data=user_data at entry=0x7fffd75db7d0) at gstpad.c:5863
#48 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffd010cdd0, 
    func=func at entry=0x7ffff6ac25a0 <foreach_dispatch_function>,
user_data=user_data at entry=0x7fffd75db7d0) at gstpad.c:603
#49 0x00007ffff6ad074c in gst_pad_sticky_events_foreach (pad=0x7fffd010cdd0,
foreach_func=<optimized out>, 
    user_data=0x7fffd75db8b0) at gstpad.c:5894
#50 0x00007fffee5c1709 in connect_pad () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#51 0x00007fffee5cc3f2 in analyze_new_pad () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#52 0x00007fffee5ccc92 in pad_added_cb () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#53 0x00007fffee5ccedf in caps_notify_cb () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#54 0x00007ffff62043e8 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#55 0x00007ffff62164a2 in signal_emit_unlocked_R () from
/lib64/libgobject-2.0.so.0
#56 0x00007ffff621f12d in g_signal_emit_valist () from
/lib64/libgobject-2.0.so.0
#57 0x00007ffff621f4ff in g_signal_emit () from /lib64/libgobject-2.0.so.0
#58 0x00007ffff6208814 in g_object_dispatch_properties_changed () from
/lib64/libgobject-2.0.so.0
#59 0x00007ffff6a85424 in gst_object_dispatch_properties_changed
(object=0x7fffd010cdd0, n_pspecs=1, pspecs=0x7fffd75dbf70)
    at gstobject.c:455
#60 0x00007ffff620ae3c in g_object_notify_by_pspec () from
/lib64/libgobject-2.0.so.0
#61 0x00007ffff6ac3cf4 in store_sticky_event (pad=pad at entry=0x7fffd010cdd0,
event=event at entry=0x7fffac0028e0) at gstpad.c:5094
#62 0x00007ffff6acf860 in gst_pad_push_event (pad=0x7fffd010cdd0,
event=0x7fffac0028e0) at gstpad.c:5371
#63 0x00007fffe4119ee2 in gst_rtp_h264_set_src_caps () from
/usr/lib64/gstreamer-1.0/libgstrtp.so
#64 0x00007fffe411ab47 in gst_rtp_h264_depay_setcaps () from
/usr/lib64/gstreamer-1.0/libgstrtp.so
#65 0x00007fffee183511 in gst_rtp_base_depayload_setcaps (caps=0x7fffe8061630,
filter=0x7fffc8004880)
    at gstrtpbasedepayload.c:326
#66 gst_rtp_base_depayload_handle_event (filter=0x7fffc8004880,
event=0x7fffac002670) at gstrtpbasedepayload.c:608
#67 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010cb90, event=event at entry=0x7fffac002670, 
    type=<optimized out>) at gstpad.c:5594
#68 0x00007ffff6acfc29 in gst_pad_send_event (pad=0x7fffd010cb90,
event=0x7fffac002670) at gstpad.c:5764
#69 0x00007fffee5c3b48 in send_sticky_event () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#70 0x00007ffff6ac25d9 in foreach_dispatch_function
(pad=pad at entry=0x7fffd010c950, ev=ev at entry=0x7fffd75dc440, 
    user_data=user_data at entry=0x7fffd75dc490) at gstpad.c:5863
#71 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffd010c950, 
    func=func at entry=0x7ffff6ac25a0 <foreach_dispatch_function>,
user_data=user_data at entry=0x7fffd75dc490) at gstpad.c:603
#72 0x00007ffff6ad074c in gst_pad_sticky_events_foreach (pad=0x7fffd010c950,
foreach_func=<optimized out>, 
    user_data=0x7fffd75dc570) at gstpad.c:5894
#73 0x00007fffee5c1709 in connect_pad () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#74 0x00007fffee5cc3f2 in analyze_new_pad () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#75 0x00007fffee5ccb75 in type_found () from
/usr/lib64/gstreamer-1.0/libgstplayback.so
#76 0x00007ffff53fbc58 in ffi_call_unix64 () from /lib64/libffi.so.6
#77 0x00007ffff53fb6ba in ffi_call () from /lib64/libffi.so.6
#78 0x00007ffff6204c1e in g_cclosure_marshal_generic () from
/lib64/libgobject-2.0.so.0
#79 0x00007ffff62043e8 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#80 0x00007ffff62164a2 in signal_emit_unlocked_R () from
/lib64/libgobject-2.0.so.0
#81 0x00007ffff621f12d in g_signal_emit_valist () from
/lib64/libgobject-2.0.so.0
#82 0x00007ffff621f4ff in g_signal_emit () from /lib64/libgobject-2.0.so.0
#83 0x00007fffe4bb27cf in gst_type_find_element_sink_event () from
/usr/lib64/gstreamer-1.0/libgstcoreelements.so
#84 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010c710, event=event at entry=0x7fffac002440, 
    type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5594
#85 0x00007ffff6ac549e in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffd010ac50, event=0x7fffac002440, 
    type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#86 0x00007ffff6ac58a0 in push_sticky (pad=pad at entry=0x7fffd010ac50,
ev=ev at entry=0x7fffd75dcfc0, 
    user_data=user_data at entry=0x7fffd75dd020) at gstpad.c:3797
#87 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffd010ac50,
func=func at entry=0x7ffff6ac5750 <push_sticky>, 
    user_data=user_data at entry=0x7fffd75dd020) at gstpad.c:603
#88 0x00007ffff6acf9b1 in check_sticky (event=0x7fffac002440,
pad=0x7fffd010ac50) at gstpad.c:3854
#89 gst_pad_push_event (pad=pad at entry=0x7fffd010ac50, event=0x7fffac002440) at
gstpad.c:5383
#90 0x00007ffff6acfb1e in event_forward_func (pad=pad at entry=0x7fffd010ac50,
data=data at entry=0x7fffd75dd110) at gstpad.c:2984
#91 0x00007ffff6acb4ce in gst_pad_forward (pad=0x7fffac0062d0,
forward=forward at entry=0x7ffff6acfa60 <event_forward_func>, 
    user_data=user_data at entry=0x7fffd75dd110) at gstpad.c:2938
#92 0x00007ffff6acb603 in gst_pad_event_default (pad=<optimized out>,
parent=<optimized out>, event=0x7fffac002440)
    at gstpad.c:3035
---Type <return> to continue, or q <return> to quit---
#93 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffac0062d0, event=event at entry=0x7fffac002440, 
    type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5594
#94 0x00007ffff6ac549e in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffac006060, event=0x7fffac002440, 
    type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#95 0x00007ffff6ac58a0 in push_sticky (pad=pad at entry=0x7fffac006060,
ev=ev at entry=0x7fffd75dd2e0, 
    user_data=user_data at entry=0x7fffd75dd340) at gstpad.c:3797
#96 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffac006060,
func=func at entry=0x7ffff6ac5750 <push_sticky>, 
    user_data=user_data at entry=0x7fffd75dd340) at gstpad.c:603
#97 0x00007ffff6acf9b1 in check_sticky (event=0x7fffac002440,
pad=0x7fffac006060) at gstpad.c:3854
#98 gst_pad_push_event (pad=pad at entry=0x7fffac006060, event=0x7fffac002440) at
gstpad.c:5383
#99 0x00007ffff6acfb1e in event_forward_func (pad=pad at entry=0x7fffac006060,
data=data at entry=0x7fffd75dd430) at gstpad.c:2984
#100 0x00007ffff6acb4ce in gst_pad_forward (pad=0x7fffd010aa00,
forward=forward at entry=0x7ffff6acfa60 <event_forward_func>, 
    user_data=user_data at entry=0x7fffd75dd430) at gstpad.c:2938
#101 0x00007ffff6acb603 in gst_pad_event_default (pad=<optimized out>,
parent=<optimized out>, event=0x7fffac002440)
    at gstpad.c:3035
#102 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010aa00, event=event at entry=0x7fffac002440, 
    type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5594
#103 0x00007ffff6ac549e in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffe8047d90, event=0x7fffac002440, 
    type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#104 0x00007ffff6ac58a0 in push_sticky (pad=pad at entry=0x7fffe8047d90,
ev=ev at entry=0x7fffd75dd600, 
    user_data=user_data at entry=0x7fffd75dd660) at gstpad.c:3797
#105 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffe8047d90,
func=func at entry=0x7ffff6ac5750 <push_sticky>, 
    user_data=user_data at entry=0x7fffd75dd660) at gstpad.c:603
#106 0x00007ffff6acf9b1 in check_sticky (event=0x7fffac002440,
pad=0x7fffe8047d90) at gstpad.c:3854
#107 gst_pad_push_event (pad=pad at entry=0x7fffe8047d90, event=0x7fffac002440) at
gstpad.c:5383
#108 0x00007ffff6acfb1e in event_forward_func (pad=pad at entry=0x7fffe8047d90,
data=data at entry=0x7fffd75dd750) at gstpad.c:2984
#109 0x00007ffff6acb4ce in gst_pad_forward (pad=0x7fffd010a7b0,
forward=forward at entry=0x7ffff6acfa60 <event_forward_func>, 
    user_data=user_data at entry=0x7fffd75dd750) at gstpad.c:2938
#110 0x00007ffff6acb603 in gst_pad_event_default (pad=<optimized out>,
parent=<optimized out>, event=0x7fffac002440)
    at gstpad.c:3035
#111 0x00007ffff6ac5007 in gst_pad_send_event_unchecked
(pad=pad at entry=0x7fffd010a7b0, event=event at entry=0x7fffac002440, 
    type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5594
#112 0x00007ffff6ac549e in gst_pad_push_event_unchecked
(pad=pad at entry=0x7fffd010c4d0, event=0x7fffac002440, 
    type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#113 0x00007ffff6ac58a0 in push_sticky (pad=pad at entry=0x7fffd010c4d0,
ev=ev at entry=0x7fffd75dd920, 
    user_data=user_data at entry=0x7fffd75dd990) at gstpad.c:3797
#114 0x00007ffff6ac35f7 in events_foreach (pad=pad at entry=0x7fffd010c4d0,
func=func at entry=0x7ffff6ac5750 <push_sticky>, 
    user_data=user_data at entry=0x7fffd75dd990) at gstpad.c:603
#115 0x00007ffff6ac5ce4 in check_sticky (event=0x0, pad=0x7fffd010c4d0) at
gstpad.c:3854
#116 gst_pad_push_data (pad=pad at entry=0x7fffd010c4d0, type=type at entry=4112,
data=data at entry=0x7fffc4003b00) at gstpad.c:4425
#117 0x00007ffff6ace632 in gst_pad_push (pad=0x7fffd010c4d0,
buffer=0x7fffc4003b00) at gstpad.c:4566
#118 0x00007fffe57ffa92 in gst_rtp_pt_demux_chain () from
/usr/lib64/gstreamer-1.0/libgstrtpmanager.so
#119 0x00007ffff6ac6322 in gst_pad_chain_data_unchecked (data=0x7fffc4003b00,
type=4112, pad=0x7fffe80634b0) at gstpad.c:4195
#120 gst_pad_push_data (pad=pad at entry=0x7fffe8062730, type=type at entry=4112,
data=<optimized out>, data at entry=0x7fffc4003b00)
    at gstpad.c:4447
#121 0x00007ffff6ace632 in gst_pad_push (pad=0x7fffe8062730,
buffer=0x7fffc4003b00) at gstpad.c:4566
#122 0x00007fffe57f6d1e in pop_and_push_next () from
/usr/lib64/gstreamer-1.0/libgstrtpmanager.so
#123 0x00007fffe57f7bd2 in gst_rtp_jitter_buffer_loop () from
/usr/lib64/gstreamer-1.0/libgstrtpmanager.so
#124 0x00007ffff6af86e1 in gst_task_func (task=0x7fffe805f050) at gsttask.c:334
#125 0x00007ffff5f57735 in g_thread_pool_thread_proxy () from
/lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#126 0x00007ffff5f56d38 in g_thread_proxy () from /lib64/libglib-2.0.so.0
#127 0x00007ffff59c85ba in start_thread () from /lib64/libpthread.so.0
#128 0x00007ffff57017cd in clone () from /lib64/libc.so.6

-- 
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