GNOME Bugzilla – Bug 430632
memory problem
Last modified: 2007-06-05 11:28:42 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
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.