massive memory leak

Bug #221433 reported by nero_O
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Pidgin-Screenlet
Fix Committed
High
vrunner

Bug Description

using the pidgin screenlet on Ubuntu Hardy Heron x64 :: the screenlet uses upwards of 120MB of ram after time

Revision history for this message
nero_O (nero-o) wrote :

I've now been running my computer for 2 days and the screenlet to my horror, is using 535 MB of ram!

meek (meek.)
Changed in pidgin-screenlet:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
vrunner (varunratnakar) wrote :

Thanks for the bug report nero_O.

I've been running the screenlet on my end for a day continously now, and haven't been able to replicate this behaviour.

Could you please try the latest development version and tell us if it improves things ?
You could either check it out using bzr:
  bzr branch http://bazaar.launchpad.net/~pidgin-screenlet-team/pidgin-screenlet/trunk

Or, you could just download the package attached to this message.

vrunner (varunratnakar)
Changed in pidgin-screenlet:
assignee: nobody → varunratnakar
Revision history for this message
Mark Parigger (mark-climber) wrote :

With version 0.3.3 the screenlet still requires too much memory (100-200 MiB).
Pidgin itself only requires about 10-20 MiB and I can't think of a reason why a frontend should use more then ten times the amount of a combined front&backend.

Revision history for this message
Scott Brown (scotty-b-brown) wrote :

I'm seeing the same behaviour on 9.04

Using 0.3.3 pidgin screenlet - after a few days its up to about 500mb...

Revision history for this message
smoohta (smoohta) wrote :

This is a known issue with some of the default screenlets.
This thread gives details on what needs to be changed for these memory leaks to stop - http://forum.compiz-fusion.org/showthread.php?s=0d0e639fecc3463c25ae5c9b2143d40a&t=3576
I've applied the fix to pidgin-screenlet myself and after a couple of days there really doesn't seem to be any leaks...

As far as I know there's no community effort to fix all the screenlets (even though the thread is from Aug 07 :)) but this fix is fairly easy to apply anyway... if you need more details feel free to message me.

Revision history for this message
Adam Russ (mail-russ) wrote :

@smoohta - any chance of posting the fix's you did? i cant seem to get it done from the link instructions

Revision history for this message
smoohta (smoohta) wrote :

Hi Adam,
Here are the fixes I did based on the thread I linked to:
Downloaded PidginScreenlet 0.3.3., extracted it and opened PidginScreenlet.py.

In class PidginScreenlet (screenlets.Screenlet):
I added the following line to create a global variable:

                p_layout = None

And then replaced every instance of p_layout = ctx.create_layout() with the following (this only appeared twice- in line 818 and line 1348):

  if self.p_layout == None :
   self.p_layout = ctx.create_layout()
  else:
   ctx.update_layout(self.p_layout)

Saved the file and in a console entered the following:
screenlets-packager *dir_screenlet_was_extracted_to*

and this should create a PidginScreenlet-0.3.3.tar.gz file, right click on screenlets manager, choose install and point it to the file.

After writing all this down I saw that you can add an attachment, oh well :)
I've also attached the fixed .tar.gz that I created, in case you don't want to go into fixing it manually... this version also has a cute little option I added- to auto-start Pidgin in case it isn't already open... I find it pretty useful but you can disable it if you want :)

Revision history for this message
meek (meek.) wrote :

thanks smoohta. the fix is commited. can someone please confirm that it works?

Changed in pidgin-screenlet:
status: Confirmed → Fix Committed
Revision history for this message
Andrea Calabrò (mastropino) wrote :

It don't work :(

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.