[gstreamer-bugs] [Bug 308766] gst_element_factory_create() may invalidate pad templates for the factory it is called with

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Thu Jun 23 06:00:31 PDT 2005


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=308766
 GStreamer | gstreamer (core) | Ver: 0.8.10





------- Additional Comments From Akos Maroy  2005-06-23 13:00 -------
the important part of the debug output is:

gst_element_factory_cleanup #1, factory: id3demuxbin, padtemplates: 1C14FF74
template: 1C187868, name: 1C1879A0, src
template: 1C187E08, name: 1C187F40, sink
gst_pad_template_dispose #1, template: 1C187868, name: 1C1879A0, src
gst_pad_template_dispose #1, template: 1C187E08, name: 1C187F40, sink

...

==31063==
==31063== Invalid read of size 4
==31063==    at 0x80497C9: try_to_plug (dynamic_orig.c:205)
==31063==    by 0x80498D1: cb_typefound (dynamic_orig.c:237)
==31063==    by 0x1B96B8CB: gst_marshal_VOID__UINT_BOXED (gstmarshal.c:470)
==31063==    by 0x1BA50C4C: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==31063==  Address 0x1C187E34 is 44 bytes inside a block of size 76 free'd
==31063==    at 0x1B90657D: free (vg_replace_malloc.c:153)
==31063==    by 0x1BCA9502: g_free (in /usr/lib/libglib-2.0.so.0.600.3)
==31063==

...

try_to_plug #1.2, template: 1C187E08, name: 1C187F40, sink



it's easy to see that during the call to gst_element_factory_create(), for some
reason the very factory is reaused that is passed to the call, and the template
referenced as tmpl in try_to_plug (1C187E08) is freed in the process.

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




More information about the Gstreamer-bugs mailing list