Your message dated Sat, 03 Oct 2015 19:10:57 +0100
with message-id <[email protected]>
and subject line Re: Bug#752623: memory leak in the "gst-plugins-bad1.0-1.2.4" 
package
has caused the Debian Bug report #752623,
regarding memory leak in the "gst-plugins-bad1.0-1.2.4" package
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
752623: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752623
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: gst-plugins-bad1.0
Version: 1.2.4 wheezy-backports


Software for recording TV from DVB stick, using
gst-plugins-bad1.0-1.2.4 package from "wheezy-backports" repository,
eats in couple of days all memory available and fails. Leak seems to
be present till current 1.3.x versions.
Problem is in the "libgstmpegtsdemux.so" library - source file
"mpegtspacketizer.c" is using "g_malloc" without corresponding
"g_free".



Valgrind output:

==1601== 2,940,057 bytes in 729 blocks are definitely lost in loss
record 2,549 of 2,549
==1601==    at 0x4028308: malloc (vg_replace_malloc.c:263)
==1601==    by 0x42FB42A: ??? (in /lib/i386-linux-gnu/libglib-2.0.so.0.3200.4)
==1601==    by 0x42FB7A2: g_malloc (in
/lib/i386-linux-gnu/libglib-2.0.so.0.3200.4)
==1601==    by 0x79612F7: mpegts_packetizer_push_section
(mpegtspacketizer.c:1154)
==1601==    by 0x79688D7: mpegts_base_chain (mpegtsbase.c:1179)
==1601==    by 0x485FBDB: gst_pad_push_data (gstpad.c:3827)
==1601==    by 0x792A467: gst_queue_loop (gstqueue.c:1118)
==1601==    by 0x48937BF: gst_task_func (gsttask.c:317)
==1601==    by 0x4894A17: default_func (gsttaskpool.c:68)
==1601==    by 0x431A887: ??? (in /lib/i386-linux-gnu/libglib-2.0.so.0.3200.4)
==1601==    by 0x4319EB2: ??? (in /lib/i386-linux-gnu/libglib-2.0.so.0.3200.4)
==1601==    by 0x4B0BD4D: clone (clone.S:130)



Quick and dirty fix, successfully tested on 1.2.4 version (use of
"mpegts_packetizer_stream_free" would be probably better):
**************************************************************
--- a/gst/mpegtsdemux/mpegtspacketizer.c        2014-02-14
12:53:21.000000000 +0100
+++ b/gst/mpegtsdemux/mpegtspacketizer.c        2014-06-25
00:24:25.118573067 +0200
@@ -957,6 +957,8 @@
     packetizer->streams[packet->pid] = stream;
   }

+  stream->section_data = NULL;
+
   GST_MEMDUMP ("Full packet data", packet->data,
       packet->data_end - packet->data);

@@ -1197,11 +1199,17 @@
   goto accumulate_data;

 out:
+
+  if(stream != NULL && stream->section_data != NULL)
+  {
+         g_free(stream->section_data);
+         stream->section_data = NULL;
+  }
+
   packet->data = data;
   *remaining = others;

   GST_DEBUG ("result: %p", res);
-
   return res;
 }
**************************************************************

System is an up-to-date "Debian Wheezy" distribution on "3.15.1" kernel.

--- End Message ---
--- Begin Message ---
On Wed, 25 Jun 2014 16:04:51 +0200 Sebastian =?ISO-8859-1?Q?Dr=F6ge?= 
<[email protected]> wrote:
> Hi Jan,
> 
> I've forwarded this upstream and there was a potential fix now:
> https://bugzilla.gnome.org/show_bug.cgi?id=732227
> 
> Can you check if that solves your memory leaks? And if not provide a
> testcase that reproduces the problem?

I guess this can be closed then as no further feedback was provided,
there were also many changes in the relevant code in the meantime.

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---

Reply via email to