After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 430632 - memory problem
memory problem
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.5
Other Linux
: Normal major
: 0.10.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-04-17 12:22 UTC by Eric.streit
Modified: 2007-06-05 11:28 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description Eric.streit 2007-04-17 12:22:09 UTC
hi,

I developp a program with pysgt/gtk: I have quite finished my project, but encounetr a big memory leak problem: I reduced the program to find out where ths happened. Here are the versions of the gstreamer and pygst packages. I'm working on a etch/debian up to date machine: I to use the last pygst package, just downloaded from the site today.


ii gstreamer-tools 0.10.10-3 Tools for use with GStreamer
ii gstreamer0.10-alsa 0.10.10-4 GStreamer plugin for ALSA
ii gstreamer0.10-doc 0.10.10-3 GStreamer core documentation and manuals
ii gstreamer0.10-esd 0.10.4-4 GStreamer plugin for ESD
ii gstreamer0.10-ffmpeg-full 0.10.2-0.1 FFmpeg plugin for GStreamer
ii gstreamer0.10-gnomevfs 0.10.10-4 GStreamer plugin for GnomeVFS
ii gstreamer0.10-gnonlin 0.10.6-2 non-linear editing module for GStreamer
ii gstreamer0.10-gnonlin-dev 0.10.6-2 development files of the non-linear editing
ii gstreamer0.10-plugins-bad 0.10.3-3.1 various GStreamer plugins
ii gstreamer0.10-plugins-base 0.10.10-4 GStreamer plugins from the "base" set
ii gstreamer0.10-plugins-base-apps 0.10.10-4 GStreamer helper programs from the "base" se
ii gstreamer0.10-plugins-base-doc 0.10.10-4 GStreamer documentation for plugins from the
ii gstreamer0.10-plugins-good 0.10.4-4 GStreamer plugins from the "good" set
ii gstreamer0.10-plugins-good-doc 0.10.4-4 GStreamer documentation for plugins from the
ii gstreamer0.10-plugins-ugly 0.10.4-5 GStreamer plugins from the "ugly" set
ii gstreamer0.10-plugins-ugly-doc 0.10.4-5 GStreamer documentation for plugins from the
ii gstreamer0.10-tools 0.10.10-3 Tools for use with GStreamer
ii gstreamer0.10-x 0.10.10-4 GStreamer plugins for X11 and Pango
rc libgstreamer-gconf0.8-0 0.8.12-4 GConf support for GStreamer
ii libgstreamer-plugins-base0.10-0 0.10.10-4 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base0.10-dev 0.10.10-4 GStreamer development files for libraries fr
ii libgstreamer0.10-0 0.10.10-3 Core GStreamer libraries and elements
ii libgstreamer0.10-dev 0.10.10-3 GStreamer core development files


and the /gst-python-0.10.7

follows the smallest programwhich shows the problem:
**********************
#!/usr/bin/env python
# -*- coding: UTF8 -*-

import pygst
pygst.require("0.10")
import gst

pipeline = gst.Pipeline("mypipeline")

source = gst.element_factory_make("alsasrc","audio")
pipeline.add(source)

convert = gst.element_factory_make("audioconvert","audioconvert")
pipeline.add(convert)

level = gst.element_factory_make ("level", "level")
level.set_property('interval', 50000000)
pipeline.add(level)

cutter = gst.element_factory_make ("cutter", "cutter")
cutter.set_property("threshold-dB", -25.0)
cutter.set_property("run-length", 2000000000)
cutter.set_property("pre-length", 300000000 )
cutter.set_property("leaky", True)
pipeline.add(cutter)

fakesink = gst.element_factory_make ("fakesink", "fakesink")
pipeline.add(fakesink)

source.link(convert)
convert.link(level)
level.link(cutter)
cutter.link(fakesink)


pipeline.set_state(gst.STATE_PLAYING)
r = raw_input()
pipeline.set_state(gst.STATE_READY)
*******************

il you launch the system monitor, you will see the resident part of memory growing as fast as 1mo every 10 sec.

NOTE:
-----
I added some tests from the time I sbmited the bug to berlios:

the problem arises when inserting the level plugin: when I lauch the pipeline with gst-launch, no problem: with a small python prog, the resident part of memory grows quickly.

If you need more informations, feel free to contact me:

Eric dot Streit @ wanadoo dot fr

Thank's for your work

best regards
Comment 1 Michael Smith 2007-04-18 12:37:38 UTC
This appears to be nothing to do with level; removing level doesn't stop leaks. Removing cutter, however, does.

Cutter has rather a lot of buggy looking code, including some obvious leaks. Off to fix...

Fixed now.