Re: [matplotlib-devel] memory leak: gtk.gdk.Pixbuf and gtk.gdk.GCX11 with gtkagg backend

2008-10-02 Thread Michael Droettboom
Agreed.  I'm not sure how this bug could be resolved only on the 
matplotlib side.  See if you can make a standalone (pygtk-only) example 
that demonstrates this bug and send it to their mailing list.  Also, if 
it's possible, try updating pygtk.  There was a very similar bug in an 
earlier version (sorry, I can't find the reference), that was resolved.

Cheers,
Mike

Eric Firing wrote:
> Mátyás János wrote:
>   
>> 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.
>>
>> 
>
> This sounds to me like a pygtk bug, not a matplotlib bug; a gtk object 
> is hanging around after its reference has been deleted. What versions of 
> gtk and pygtk are you using?  This sounds dimly familiar.  I don't know 
> enough about gtk and pygtk to help, but I am sure the people who do know 
> more will want to know the version.
>
> Eric
>
>   
>> 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.0 +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.0 +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)
>> -pixmap.draw_pixbuf(pixmap.new_gc(), pixbuf, 0, 0, 0, 0, w, h,
>> +   g = pixmap.new_gc()
>> +pixmap.draw_pixbuf(g, pixbuf, 0, 0, 0, 0, w, h,
>> gtk.gdk.RGB_DITHER_NONE, 0, 0)
>> +
>> +   print "XX", pixbuf,
>> g,pixbuf.__grefcount__,g.__grefcount__
>> +   print gc.get_referrers(pixbuf)
>> +   print gc.get_referrers(g)
>> +   del pixbuf
>> +   del g
>> +   gc.collect()
>> +
>>  if DEBUG: print 'FigureCanvasGTKAgg.render_figure done'
>>
>>  def blit(self, bbox=None):
>>
>>
>> The __grefcount__ values are 1 but the memory is not freed up even after
>> gc.collect().
>>
>> -
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> ___
>> Matplotlib-devel mailing list
>> Matplotlib-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>> 
>
>
>
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> ___
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>   

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


[matplotlib-devel] Python 2.6

2008-10-02 Thread Michael Droettboom
matplotlib SVN trunk appears to be running backend_driver.py fine under 
Python-2.6 with Numpy SVN and TkAgg backend.

I had to make a handful of changes to remove deprecation warnings, none 
of which changes our "still supporting Python 2.4" policy.  One change 
was required to pytz, which I've communicated upstream to its author.

In case anyone is wondering, there don't seem to be any measurable 
performance increases... :(

Cheers,
Mike

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] memory leak: gtk.gdk.Pixbuf and gtk.gdk.GCX11 with gtkagg backend

2008-10-02 Thread Mátyás János
Hi,

thank you very much! The memory leak disappeared after I updated
pygobject from 2.12 to 2.13.2.

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel