Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 33420 - Evolution causes memory increases each time you view Contacts
Summary: Evolution causes memory increases each time you view Contacts
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: http://lists.ximian.com/archives/publ...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-13 13:21 UTC by Todd Geders
Modified: 2004-07-26 12:35 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Todd Geders 2003-11-13 13:21:47 UTC
Using Evolution 1.4.5, if you ever view your "Contacts" the machine uses 100%
CPU and is unusable for ~10-15 seconds.  If you view the memory usage, it
increases 102MB.  If you click to view only one "letter" of contacts (e.g. click
on C to view only people with the last name of C), and then unclick the "C" to
view all your contacts, the memory usage increases again by 102MB.  If you
continue this cycle, your memory usage increases 102MB at a time until your
machine becomes unusable due to disk thrashing as you hit your swap.

Reproducible: Always
Steps to Reproduce:
1. Open Evolution, read your email (no problems)
2. Click to view your Contacts
3. Click any individual letter to view only people who's name start with that letter
4. View your mail or whatever, just after you're done uncheck that letter in
your Contacts so you view everyone.
5. Watch your memory usage increase 102MB.
6. Repeat from step 3 to consume all your memory and frustrate your life

Actual Results:  
As described

Expected Results:  
It should just show your contacts and not consume memory.  If you do "top", you
see that the process increasing memory usage is X, and only restarting X will
solve your problem.

[/home/geders ]$ emerge info
Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.20-gentoo-r7)
=================================================================
System uname: 2.4.20-gentoo-r7 i686 Intel(R) Pentium(R) III Mobile CPU      1000MHz
Gentoo Base System version 1.4.3.10p1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config
/usr/kde/2/share/config /usr/kde/3/share/config
/usr/X11R6/lib/X11/xkb:/usr/kde/3.1/share/config:/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="http://csociety-ftp.ecn.purdue.edu/pub/gentoo/
ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg gnome libg++ libwww
mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv
zlib gdbm berkdb slang readline arts bonobo svga java ruby mysql postgres X sdl
gpm tcpd pam python imlib oggvorbis gtk qt kde motif opengl aalib acl alsa cdr
directfb dvd esd ethereal evo fbcon gb gd ggi gstreamer gtk2 gtkhtml imap lcms
ldap mozilla perl plotutils samba scanner slp ssl tcltk tiff usb wmf Xaw3d
xinerama xosd xml"
Comment 1 Alastair Tse (RETIRED) gentoo-dev 2003-11-13 13:56:37 UTC
how much memory was it using before?

there does seem to be some memory leak, when you switch from contacts to email back to contacts, if you open a new email every time.

has this been happening for a while? what about older versions?
Comment 2 Todd Geders 2003-11-13 14:20:05 UTC
Here's the summary of the following block of lines:

With just email open, X uses 300 MB with all my programs running (I've been using the machine all day).  
Open contacts, and X uses 396 MB
View just "C" contacts, and X uses 414 MB
View all contacts again, and X uses 509 MB

I understand that top's virtual memory usage includes all the programs running under X, but none of the other processes increase in memory usage, only X. I really don't understand why there are so many processes for evolution, but I only have one window open.

Selected lines from "top"...the columns are as follows:

Before viewing contacts:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  Command
 2629 root      15   0  300m  44m 6016 S  9.6 11.9   2:19.70 X
 3164 geders    15   0 21116  20m  13m S  0.0  5.5   0:05.23 evolution-1.4
 3167 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.00 evolution-1.4
 3168 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.04 evolution-1.4
 3169 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.02 evolution-1.4
 3170 geders    18   0 21116  20m  13m S  0.0  5.5   0:00.00 evolution-1.4
 3173 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.07 evolution-1.4
 3174 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.01 evolution-1.4
 3175 geders    15   0 21116  20m  13m S  0.0  5.5   0:00.00 evolution-1.4
 3278 geders    16   0 21116  20m  13m S  0.0  5.5   0:00.00 evolution-1.4


After viewing contacts:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  Command
 2629 root      15   0  396m 140m 6000 S  0.7 37.4   2:30.34 X
 3164 geders    15   0 22184  21m  14m S  0.0  5.8   0:17.18 evolution-1.4
 3167 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.00 evolution-1.4
 3168 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.04 evolution-1.4
 3169 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.02 evolution-1.4
 3170 geders    18   0 22184  21m  14m S  0.0  5.8   0:00.00 evolution-1.4
 3173 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.07 evolution-1.4
 3174 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.01 evolution-1.4
 3175 geders    15   0 22184  21m  14m S  0.0  5.8   0:00.00 evolution-1.4
 3278 geders    16   0 22184  21m  14m S  0.0  5.8   0:00.00 evolution-1.4

Now I click to show only the contacts with last name starting with "C":

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  Command
 2629 root      15   0  414m 156m 5836 S 26.8 41.8   2:35.46 X
 3164 geders    15   0 21984  21m  13m S  0.0  5.7   0:19.31 evolution-1.4
 3167 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3168 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.04 evolution-1.4
 3169 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.02 evolution-1.4
 3170 geders    18   0 21984  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3173 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.07 evolution-1.4
 3174 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.01 evolution-1.4
 3175 geders    15   0 21984  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3278 geders    16   0 21984  21m  13m S  0.0  5.7   0:00.00 evolution-1.4

Ok, now I click to view all contacts again:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  Command
 2629 root      15   0  509m 224m 6604 S  1.3 59.9   2:41.70 X
 3164 geders    15   0 22064  21m  13m S  0.0  5.7   0:30.53 evolution-1.4
 3167 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3168 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.04 evolution-1.4
 3169 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.02 evolution-1.4
 3170 geders    18   0 22064  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3173 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.07 evolution-1.4
 3174 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.01 evolution-1.4
 3175 geders    15   0 22064  21m  13m S  0.0  5.7   0:00.00 evolution-1.4
 3278 geders    16   0 22064  21m  13m S  0.0  5.7   0:00.00 evolution-1.4

If I do it again, I will get a fairly unusable machine, since I've almost filled my available RAM (384 MB)...I have 1 GB of swap, but it gets slow then.


I have 20 contacts in my Contacts, all of them are only the Full Name and their email address.  I have never used Evolution before, but people seem to like it so I gave it a try.  If you use it only for email its fine, but never click to view Contacts.
Comment 3 Todd Geders 2003-11-15 09:56:20 UTC
Ok, I normally use KDE 3.1.4, and I observe this behavior under that DE.  I installed Gnome 2.4, and Evolution works just fine, no memory leak each time you load up the Contacts...in fact, overall system performance is much, much, much faster under Gnome compared to KDE...
Comment 4 Todd Geders 2003-12-16 06:42:42 UTC
Bleh, it turns out this problem is still occuring for me under Gnome 2.4.0.  I've found a work-around by clicking on my contacts, waiting a minute or so while it loads my 21 contacs, and then changing the default contacts view by View->Current View->Phone List.  This creates an ugly but functional contact list.  

Oddly enough, when using the contact list under Gnome in Mid to Late November, everything was fine.  Only recently have I noticed the problem returning...

http://lists.ximian.com/archives/public/evolution/2003-July/031166.html

Here's a link to a post on the ximian mailing list that demonstrates other people are having this issue on multiple distros...the work-around is listed.  I
Comment 5 Alastair Tse (RETIRED) gentoo-dev 2004-07-25 12:05:50 UTC
was there ever a patch for this or did it get fixed with 1.4.6 ?
Comment 6 Todd Geders 2004-07-26 11:31:53 UTC
Honestly, I don't know if this was fixed.  I just would always use "Phone List" view, and then I would have no problems.  I've switched to OSX now, so unless anyone else objects, I would close this bug and assume it was fixed...
Comment 7 Alastair Tse (RETIRED) gentoo-dev 2004-07-26 12:35:53 UTC
oh well, we'll have to close this for now. thanks for getting back to us.