[Bug 768100] New: ghostpad: invalid ref getting internal pad

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jun 27 14:26:23 UTC 2016


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

            Bug ID: 768100
           Summary: ghostpad: invalid ref getting internal pad
    Classification: Platform
           Product: GStreamer
           Version: 1.8.2
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: mparisdiaz at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Hello,
I found an invalid reference usage while I was doing "massive testing".

In the GDB trace [gdb-1] we can see that the internal pad ref is not valid when
the refcount is tried to be increased [ref-1]

Refs
[ref-1]
https://github.com/Kurento/gstreamer/blob/2f41e7bc6a842044cb73bc0470601200575c378a/gst/gstghostpad.c#L224

GDB traces
[gdb-1]
#0  0x00002aae19f2289b in g_logv (breakpoint=1) at
/build/glib2.0-ajuDY6/glib2.0-2.46.1/./glib/gmessages.c:324
#1  0x00002aae19f2289b in g_logv (log_domain=0x2aae19cbaa56 "GLib-GObject",
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
args=args at entry=0x2aae2755d2d0) at
/build/glib2.0-ajuDY6/glib2.0-2.46.1/./glib/gmessages.c:1081
#2  0x00002aae19f22a0f in g_log (log_domain=log_domain at entry=0x2aae19cbaa56
"GLib-GObject", log_level=log_level at entry=G_LOG_LEVEL_CRITICAL,
format=format at entry=0x2aae19f6d114 "%s: assertion '%s' failed")
    at /build/glib2.0-ajuDY6/glib2.0-2.46.1/./glib/gmessages.c:1119
#3  0x00002aae19f22a49 in g_return_if_fail_warning
(log_domain=log_domain at entry=0x2aae19cbaa56 "GLib-GObject",
pretty_function=pretty_function at entry=0x2aae19cbe198 <__func__.13611>
"g_object_ref", expression=expression at entry=0x2aae19cbceba "G_IS_OBJECT
(object)") at /build/glib2.0-ajuDY6/glib2.0-2.46.1/./glib/gmessages.c:1128
#4  0x00002aae19c93a3c in g_object_ref (_object=_object at entry=0x2aae8400a2c0)
at /build/glib2.0-ajuDY6/glib2.0-2.46.1/./gobject/gobject.c:3045
#5  0x00002aae1998a131 in gst_object_ref (object=object at entry=0x2aae8400a2c0)
at gstobject.c:256
#6  0x00002aae199bb04b in gst_proxy_pad_get_internal (pad=0x2aae5c017600
[GstProxyPad]) at gstghostpad.c:224
#7  0x00002aae199bb0d8 in gst_proxy_pad_iterate_internal_links_default
(pad=0x2aae5c017600 [GstProxyPad], parent=<optimized out>) at gstghostpad.c:94
#8  0x00002aae199cebac in gst_pad_iterate_internal_links
(pad=pad at entry=0x2aae5c017600 [GstProxyPad]) at gstpad.c:2876
#9  0x00002aae199cec6b in gst_pad_forward (pad=pad at entry=0x2aae5c017600
[GstProxyPad], forward=forward at entry=0x2aae19a04df0 <query_accept_caps_func>,
user_data=user_data at entry=0x2aae2755d530) at gstpad.c:2915
#10 0x00002aae19a07261 in gst_pad_proxy_query_accept_caps
(pad=pad at entry=0x2aae5c017600 [GstProxyPad], query=query at entry=0x2aae5c0148a0)
at gstutils.c:2539
#11 0x00002aae199cf4a8 in gst_pad_query_default (query=0x2aae5c0148a0,
pad=0x2aae5c017600 [GstProxyPad]) at gstpad.c:3062
#12 0x00002aae199cf4a8 in gst_pad_query_default (pad=0x2aae5c017600
[GstProxyPad], parent=<optimized out>, query=0x2aae5c0148a0) at gstpad.c:3338
#13 0x00002aae199d010a in gst_pad_query (pad=pad at entry=0x2aae5c017600
[GstProxyPad], query=query at entry=0x2aae5c0148a0) at gstpad.c:3922
#14 0x00002aae19a0a3d6 in gst_pad_query_accept_caps
(pad=pad at entry=0x2aae5c017600 [GstProxyPad], caps=<optimized out>) at
gstutils.c:2926
#15 0x00002aae199c8ad2 in gst_pad_send_event_unchecked (event=0x2aae5c0028e0,
pad=0x2aae5c017600 [GstProxyPad]) at gstpad.c:5435
#16 0x00002aae199c8ad2 in gst_pad_send_event_unchecked
(pad=pad at entry=0x2aae5c017600 [GstProxyPad], event=event at entry=0x2aae5c0028e0,
type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at
gstpad.c:5567
#17 0x00002aae199c8f7b in gst_pad_push_event_unchecked
(pad=pad at entry=0x2aae9000aec0 [GstTeePad], event=0x2aae5c0028e0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5234
#18 0x00002aae199c9588 in push_sticky (pad=0x2aae9000aec0 [GstTeePad],
ev=0x2aae2755d900, user_data=0x2aae2755d990) at gstpad.c:3779
#19 0x00002aae199c7532 in events_foreach (pad=pad at entry=0x2aae9000aec0
[GstTeePad], func=func at entry=0x2aae199c9430 <push_sticky>,
user_data=user_data at entry=0x2aae2755d990) at gstpad.c:601
#20 0x00002aae199c9a46 in gst_pad_push_data (event=0x0, pad=0x2aae9000aec0
[GstTeePad]) at gstpad.c:3836
#21 0x00002aae199c9a46 in gst_pad_push_data (pad=pad at entry=0x2aae9000aec0
[GstTeePad], type=type at entry=4112, data=data at entry=0x2aae80010c40) at
gstpad.c:4407
#22 0x00002aae199d1cbe in gst_pad_push (pad=pad at entry=0x2aae9000aec0
[GstTeePad], buffer=0x2aae80010c40) at gstpad.c:4548
#23 0x00002aae1cea4b89 in gst_tee_handle_data (is_list=0, data=0x2aae80010c40,
pad=0x2aae9000aec0 [GstTeePad], tee=0x2aae6800a1c0 [GstTee]) at gsttee.c:605
#24 0x00002aae1cea4b89 in gst_tee_handle_data (tee=tee at entry=0x2aae6800a1c0
[GstTee], data=data at entry=0x2aae80010c40, is_list=is_list at entry=0) at
gsttee.c:685
#25 0x00002aae1cea51a3 in gst_tee_chain (pad=pad at entry=0x2aae5c00aff0 [GstPad],
parent=parent at entry=0x2aae6800a1c0 [GstTee],
buffer=buffer at entry=0x2aae80010c40) at gsttee.c:768

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