[Bug 765540] New: gst_element_base_class_finalize() is never called
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Apr 25 13:54:44 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=765540
Bug ID: 765540
Summary: gst_element_base_class_finalize() is never called
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: gdesmott at gnome.org
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
gst_element_base_class_finalize() is defined as a GTypeInfo.base_finalize but
those functions are actually never called with static types. That means it will
never be called for any GstElement subclass.
That's too bad because this function is supposed to unref GstPadTemplate which
are actually leaked.
It's not the end of the world but it clutter test results when tracking leaks
using tools like valgrind, GST_TRACE or my refcount tracer (bug #765052). It
also makes it harder/impossible to rely on such tools to implement automatic
leaks regression tests.
I'm not sure of the proper way to address this. One option could be to track
class creations in gst_element_base_class_init(), store them in a static list
and manually destroy them with a specific API called from gst_deinit(). It's a
bit hacky and not the cleanness but that should do the job I think
--
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