2 Oct 00:43
memory leak: gtk.gdk.Pixbuf and gtk.gdk.GCX11 with gtkagg backend
From: Mátyás János <mjanos5@...>
Subject: memory leak: gtk.gdk.Pixbuf and gtk.gdk.GCX11 with gtkagg backend
Newsgroups: gmane.comp.python.matplotlib.devel
Date: 2008-10-01 22:47:05 GMT
Subject: memory leak: gtk.gdk.Pixbuf and gtk.gdk.GCX11 with gtkagg backend
Newsgroups: gmane.comp.python.matplotlib.devel
Date: 2008-10-01 22:47:05 GMT
Hi,
I'm looking for memory leaks in a python application and found leaks in
matplotlib. The application is graphic intensive. Each time it updates
the screen, matplotlib allocates another 5-10 megabytes memory for the
new gtk.gdk.Pixbuf and gtk.gdk.GCX11 while does not free up the buffers
allocated for the previous content.
I switched on garbage collection debugging with:
import gc
gc.enable()
gc.set_debug(gc.DEBUG_LEAK)
and tried to delete the leaking objects:
--- ./lib/matplotlib/backends/backend_gtkagg.py 2008-06-23
04:09:29.000000000 +0200 ++
+ /usr/lib/python2.4/site-packages/matplotlib-0.91.4-py2.4-linux-i686.egg/matplotlib/backends/backend_gtkagg.py
2008-10-02 00:05:32.000000000 +0200 @@ -3,6 +3,7 @@ """
from __future__ import division
import os
+import gc
import matplotlib
from matplotlib.figure import Figure
@@ -82,8 +83,17 @@
h = int(ren.height)
pixbuf = gtk.gdk.pixbuf_new_from_data(
buf, gtk.gdk.COLORSPACE_RGB, True, 8, w, h, w*4)
(Continue reading)
RSS Feed