Re: [Evolution] Massive memory leaks..




I run evolution daily at work as well as at home. It seems that every
day (sometimes twice a day) at work I have to kill evolution because it
takes way too much of a memory footprint.

A little about my environment:

I'm running evolution 2.2.3-2.fc4 from (appropriately) Fedora Core 4
updates.

I have two IMAP accounts set up, one goes to my home IMAP server,
through an ssh proxy tunnel (the tunnel is set up outside of Evolution).
The other goes to my localhost IMAP server which I have set up.
Fetchmail brings in my work mail from the work servers to my account. In
both cases, the IMAP server is dovecot. I have a bunch of vFolders set
up which span the IMAP accounts. 

I have forced a (300meg) core dump using kill -SEGV (after disabling the
bug-buddy dialog) at a time where evolution was consuming upwards of 300
meg of memory. I am familiar with debugging stack traces from core
files, but not in debugging leaked memory. If anyone has any
suggestions, they would be appreciated.

AFAIK the best way to find leaks is using valgrind. Maybe this page will
be useful during your hunt, too:
  http://gnome.org/projects/evolution/bugs.shtml

As you obviously are willing to debug this yourself or at least start
it, the evolution-hackers list might be a place for you to ask.
  http://mail.gnome.org/mailman/listinfo/evolution-hackers


If anyone would like access to the core file, that can be arranged.

BTW, I also have similar problems with evolution-data-server, though it
seems to increase footprint slower, so I only have to kill it every 2-3
days instead. I figured I'd try to tackle one beast at a time.

I usually kill these using 'evolution --force-shutdown' if anyone is
interested (though obviously not in the above core file case).

You are aware that --force-shutdown stops e-d-s as well as any other Evo
related task, including Evolution itself? You can't shutdown Evo only
with that command. Just in case, cause I didn't get which part this
particularly was about.

...guenther


-- 
char *t="\10pse\0r\0dtu\0  ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]