[Bug 681955] New: gst_discoverer_stream_info_list_free () causes a critical error
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Aug 15 17:00:14 PDT 2012
https://bugzilla.gnome.org/show_bug.cgi?id=681955
GStreamer | gst-plugins-base | git
Summary: gst_discoverer_stream_info_list_free () causes a
critical error
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Windows
Status: UNCONFIRMED
Severity: minor
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: lrn1986 at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
I have the following function for processing :
void
infoprocess (GstDiscovererStreamInfo * info)
{
<non-disruptive code (only works with const data)>
if (GST_IS_DISCOVERER_CONTAINER_INFO (info))
{
GstDiscovererContainerInfo *c = GST_DISCOVERER_CONTAINER_INFO (info);
GList *children = gst_discoverer_container_info_get_streams (c);
if (children)
{
GstDiscovererStreamInfo *sinfo = children->data;
while (NULL != sinfo)
{
GstDiscovererStreamInfo *next;
infoprocess (sinfo);
next = gst_discoverer_stream_info_get_next (sinfo);
gst_discoverer_stream_info_unref (sinfo);
sinfo = next;
}
gst_discoverer_stream_info_list_free (children);
}
}
}
On some files this code throws a critical error:
#0 g_logv (log_domain=0x63a724ef "GLib-GObject",
log_level=G_LOG_LEVEL_CRITICAL, format=0x68680004 "%s: assertion `%s' failed",
args1=0x28b67c "*8§cЕ*§c") at /src/glib-2.33.1a/glib/gmessages.c:662
#1 0x685ffd12 in g_log (log_domain=0x63a724ef "GLib-GObject",
log_level=G_LOG_LEVEL_CRITICAL, format=0x68680004 "%s: assertion `%s' failed")
at /src/glib-2.33.1a/glib/gmessages.c:792
#2 0x685ffd43 in g_return_if_fail_warning (log_domain=0x63a724ef
"GLib-GObject", pretty_function=0x63a7382a "g_object_unref",
expression=0x63a72ac5 "G_IS_OBJECT (object)") at
/src/glib-2.33.1a/glib/gmessages.c:801
#3 0x63a4f8d3 in g_object_unref (_object=0x2d0f3e0) at
/src/glib-2.33.1a/gobject/gobject.c:2915
#4 0x6b98e66a in gst_discoverer_stream_info_list_free (infos=0x2da4890) at
gstdiscoverer-types.c:450
#5 0x6b98e6ac in gst_discoverer_container_info_finalize (object=0x2cf40f0) at
gstdiscoverer-types.c:171
#6 0x63a4fb2a in g_object_unref (_object=0x2cf40f0) at
/src/glib-2.33.1a/gobject/gobject.c:3023
#7 0x6b98de7e in gst_discoverer_info_finalize (object=0x2cf40a8) at
gstdiscoverer-types.c:361
#8 0x63a4fb2a in g_object_unref (_object=0x2cf40a8) at
/src/glib-2.33.1a/gobject/gobject.c:3023
#9 0x6b98c8df in _fu138___gst_debug_min () at gstdiscoverer.c:1221
#10 0x6b98cd33 in discoverer_bus_cb (dc=0x2cf25a8, bus=<optimized out>,
msg=<optimized out>) at gstdiscoverer.c:1506
#11 _fu142___gst_debug_min () at gstdiscoverer.c:1497
#12 0x63a49873 in g_cclosure_marshal_VOID__BOXEDv (closure=0x26a35e8,
return_value=0x0, instance=0x2cf26c8, args=0x28bbec "иҐi\002ђЅ(",
marshal_data=0x0, n_params=1, param_types=0x26a7ee8) at
/src/glib-2.33.1a/gobject/gmarshal.c:1160
#13 0x63a4643e in _g_closure_invoke_va (closure=0x26a35e8, return_value=0x0,
instance=0x2cf26c8, args=0x28bbec "иҐi\002ђЅ(", n_params=1,
param_types=0x26a7ee8) at /src/glib-2.33.1a/gobject/gclosure.c:840
#14 0x63a5d2e8 in g_signal_emit_valist (instance=0x2cf26c8, signal_id=14,
detail=410, var_args=0x28bbec "иҐi\002ђЅ(") at
/src/glib-2.33.1a/gobject/gsignal.c:3207
#15 0x63a5dc96 in g_signal_emit (instance=0x2cf26c8, signal_id=14, detail=410)
at /src/glib-2.33.1a/gobject/gsignal.c:3352
#16 0x614538b8 in gst_bus_async_signal_func (bus=0x2cf26c8, message=0x269a5e8,
data=0x0) at gstbus.c:1126
#17 0x6145460d in gst_bus_source_dispatch (source=0x2d0c778,
callback=0x6b98f8b0 <gst_bus_async_signal_func>, user_data=0x0) at gstbus.c:773
#18 0x685f7d5d in g_main_dispatch (context=0x2d21a58) at
/src/glib-2.33.1a/glib/gmain.c:2539
#19 0x685f8871 in g_main_context_dispatch (context=0x2d21a58) at
/src/glib-2.33.1a/glib/gmain.c:3075
#20 0x685f8a4c in g_main_context_iterate (context=0x2d21a58, block=1,
dispatch=1, self=0x2cf1420) at /src/glib-2.33.1a/glib/gmain.c:3146
#21 0x685f8e36 in g_main_loop_run (loop=0x2d21928) at
/src/glib-2.33.1a/glib/gmain.c:3340
Commenting out the gst_discoverer_stream_info_list_free (children); line fixes
this.
This might turn out to be just an issue with memory corruption though.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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