[Bug 765005] New: mpegtsmux: memory leak caused by pad_data->language
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Apr 13 17:28:36 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=765005
Bug ID: 765005
Summary: mpegtsmux: memory leak caused by pad_data->language
Classification: Platform
Product: GStreamer
Version: 1.6.1
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: memento1987 at interia.pl
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
I noticed small memory leak caused by pad_data->language in mpegtsmux in the
following line:
GST_DEBUG_OBJECT (pad, "Setting language to '%s'", lang_code);
pad_data->language = g_strdup (lang_code);
I added to WARNING messages to confirm that g_strdup is invoked more times that
g_free(pad_data->language) in the following places:
1)
- GST_DEBUG_OBJECT (pad, "Setting language to '%s'", lang_code);
+ GST_WARNING_OBJECT (pad, "Setting language to '%s'", lang_code);
pad_data->language = g_strdup (lang_code);
2)
if (pad_data->language) {
+ GST_WARNING(releasing pad_data->language);
g_free (pad_data->language);
pad_data->language = NULL;
}
And got following output in logs:
0:00:10.753865376 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:10.755888141 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event
<splitmuxsink_rabbitmq_mpegtsmux_4287:sink_66> Setting language to 'eng'
0:00:10.775769785 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4287:sink_66>
Setting language to 'eng'
0:00:11.211465160 9671 0x9b7e1b0 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:11.213284822 9671 0x9b7e1b0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4352:sink_66>
Setting language to 'eng'
0:00:11.220769453 9671 0x9b7fb80 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4352:sink_66>
Setting language to 'eng'
0:00:11.408445647 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:11.411094371 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4170:sink_66>
Setting language to 'eng'
0:00:11.428846042 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4170:sink_66>
Setting language to 'eng'
0:00:11.622453320 9671 0x9b04150 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:11.624472643 9671 0x9b04150 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4736:sink_66>
Setting language to 'eng'
0:00:11.641586594 9671 0x9b04150 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4736:sink_66>
Setting language to 'eng'
0:00:11.711140623 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:11.712432191 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4287:sink_66>
Setting language to 'eng'
0:00:11.736278444 9671 0x9cd96c0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4287:sink_66>
Setting language to 'eng'
0:00:12.003196165 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:356:mpegtsmux_pad_reset: releasing pad_data->language
0:00:12.004533775 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4170:sink_66>
Setting language to 'eng'
0:00:12.021611624 9671 0x9ce37b0 WARN mpegtsmux
mpegtsmux.c:869:mpegtsmux_sink_event:<splitmuxsink_rabbitmq_mpegtsmux_4170:sink_66>
Setting language to 'eng'
We can see that for each invokation of releasing pad_data->language, we have 2
invokations of g_strdup() - which causes memory leak.
--
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