Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 299179 - mail-client/evolution 2.26.3 using 100% CPU due filters
Summary: mail-client/evolution 2.26.3 using 100% CPU due filters
Status: RESOLVED WORKSFORME
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:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-01 09:41 UTC by Raphael Mankin
Modified: 2010-04-28 12:59 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 Raphael Mankin 2010-01-01 09:41:03 UTC
Periodically, Evolution goes up to 100% cpu usage and stays there. Sometimes it happens immediately, sometimes it is fine for a while and then goes wild. I suspect that this is associated with fetching imap mail, but I have no hard evidence to prove it.

I have seen similar problems reported with much older versions of Evolution, but associated with MS Exchange or LDAP. I am using neither of these and an up to date Evolution. I have seen this with both gentoo kernel 2.6.30-r8 and with vanilla kernel 2.6.26. Evolution is 2.26.3.

When this happens the program still responds to mouse clicks, but it does not update its display voluntarily.

Stopping and starting Evolution usually clears the problem for  a while.

Is it possible to turn on some sort of logging in Evolution?


Reproducible: Always

Steps to Reproduce:
1. Start evolution
2. wait
3.




Running programs are: shells, skype, Mozilla, cups.

Portage 2.1.6.13 (default/linux/x86/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.26.8 i686)
=================================================================
System uname: Linux-2.6.26.8-i686-Pentium_III_-Katmai-with-gentoo-1.12.13
Timestamp of tree: Wed, 30 Dec 2009 13:00:01 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ ftp://ftp.kaist.ac.kr/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://mirrors.ludost.net/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en he"
MAKEOPTS="-j2 "
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X X509 a52 aac accessibility acl acpi alsa apache apache1 asf automount bash-completion berkdb bidi bindist bluetooth branding bzip2 cairo cdparanoia cdr cdrom chroot cli consolekit cracklib crypt css cups cvs cvsgraph cxx dbus devfs26 devmap dga dnsdb dri dts dvd dvdr eds emboss encode evo evolution exif exim exiscan exiscan-acl fam fat ffmpeg firefox flac fortran ftp gdbm gif gimp gnome gpm gstreamer gtk hal iconv innodb ipv6 java java5 java6 jpeg kde ldap libnotify mad mikmod mng modules mozilla mp3 mp4 mpeg mudflap mysql mysqli ncurses nls nntp nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support qt4 quicktime rc5 readline realmedia reflection samba sdl session sndfile sound spamassassin spell spf spl srs ssl startup-notification subversion svg sysfs tcpd thunar tiff tk truetype unicode usb vncviewer vorbis widescreen win32codecs x264 x86 xfs xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="usb-audio emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="mouse keyboard evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en he" RUBY_TARGETS="ruby18" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="radeon ati vesa fbdev s3 mach64"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Romain Perier (RETIRED) gentoo-dev 2010-01-02 14:01:11 UTC
From http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html#Optimize-Options :

"-funroll-loops
 Unroll loops whose number of iterations can be determined at compile time or upon entry to the loop. -funroll-loops implies -frerun-cse-after-loop. This option makes code larger, and may or may not make it run faster.
"

(in other words, I'm not sure that this cflag is really interesting...)

well, and with CFLAGS="-O2 -march=i686 -pipe" ? (remember that some CFLAGS may break apps)
Comment 2 Raphael Mankin 2010-01-03 10:00:52 UTC
The CFLAGS I have are defaults as donwloaded with my origninal gentoo system except that I have reduced -O3 to -O2. I have now removed -funroll-loops and will rebuild. If you want me to change any other flags, please say specifically what you want.

I have reason to believe, more specifically, that the problem lies in the message filtering code. I have noticed that since I upgraded to 2.26.3 that filtering has been unreliable and has not alwasy moved messages that it should have moved. I have turned off message filtering and will report back when I see how things go (before doing a rebuild).
Comment 3 Raphael Mankin 2010-01-04 19:13:13 UTC
Further experiments:

1. Unchecking the message filtering tick-box has no effect until one quits and restarts evolution.

2. Turning off message filtering does not cure the 100% cpu problem.

3. Rebuilding (just) Evolution without the -funroll-loops flag does not cure the problem. Clicking send/receive triggers it.

Any suggestions as to what I can try?
Comment 4 Raphael Mankin 2010-01-06 18:37:17 UTC
Further experiments.

I have now rebuilt Evolution with CFLAGS=-O2 (no other flags).

It behaves itself so long as I do not click send/recieve (F9). If I do, it then goes to 100% cpu and stays there. Message filtering is off.
Comment 5 Raphael Mankin 2010-03-07 17:01:53 UTC
I attached an example email to this report as a sample of a message that triggered the problem. The author of the email has asked that it be removed. Is that possible?
Comment 6 Nirbheek Chauhan (RETIRED) gentoo-dev 2010-03-07 18:02:17 UTC
(In reply to comment #5)
> I attached an example email to this report as a sample of a message that
> triggered the problem. The author of the email has asked that it be removed. Is
> that possible?
> 

I don't see anything attached to this bug (anymore atleast).
Comment 7 Pacho Ramos gentoo-dev 2010-03-13 11:30:13 UTC
How does it behave on a new created user account?
Comment 8 Raphael Mankin 2010-03-14 10:44:48 UTC
1. Created a completely new Linux user
2. In that user configured evolution (1 IMAP account, no filters)
3. Press F9. Result OK

4. Select 1 message, press ^Y. Result OK

5. SElect all messages, press ^Y. Result OK

So far there are no filters.

6 Define 1 filter (subject contains 'sex' => move to Spam)
7. Press ^Y. No effect.

8. Quit Evolution
9 Restart Evolution
10. Select spam message and press ^Y. No effect.
11. Select all messages, press ^Y. No effect.

12. Turn on message filetring on new messages
13. quuit and restart evoltuion
14. Spam is still there. ^Y has no effect.


So, filtering appears to be fubar, but also no 100% cpu.
Comment 9 Pacho Ramos gentoo-dev 2010-03-14 11:07:51 UTC
I would then consider original problem (100% CPU consumption) is caused by some bad configuration, probably due have used the same config for years :-/

Why do you use manual filtering instead of spam detection (with bogofilter for example)? Maybe 100% CPU consumption on your account is caused by having lots of filters 
Comment 10 Raphael Mankin 2010-03-14 11:27:52 UTC
Spamassassin on the server identifies most of the spam and dumps it. However I still need filters for
1. fine tuning the spam detection. SA has a fair number of false negatives.
2. sorting the incoming messages into folders according to my personal categories.
Comment 11 Pacho Ramos gentoo-dev 2010-03-14 12:32:12 UTC
Can you please check if dropping filters improve performance?

Filters "live" in ~/.evolution/mail/filters.xml, then, you can move them out for testing (after closing evolution, run "evolution --force-shutdown" to be sure no evo is running)
Comment 12 Raphael Mankin 2010-03-14 15:30:09 UTC
On my live user I renamed my filter file and restarted, as suggested. That seems to cure the problem

I restored the filter file and found that I got an error "no provider for protocol 'email'" error message. I removed the filter file and re-inserted my filters by hand from the menus. It seems to be behaving itself when I use ^Y or F9.

I then re-enabled filtering on incoming messages. F9 seems to be behaving, but there are not actually any new messages at the moment. I will keep you posted.
Comment 13 Pacho Ramos gentoo-dev 2010-04-17 14:27:39 UTC
Any news on this?
Comment 14 Raphael Mankin 2010-04-17 17:04:34 UTC
It seems to be behaving itself, more or less. Every so often I get a problem where filters stop working and I have to delete them all and start again. But there is nothing I can actually put my finger on that would help with tracking things down.

I suggets closing this one. There is something iffy with filters, but I am not getting any useful info on it that will help with a fix.
Comment 15 Pacho Ramos gentoo-dev 2010-04-17 17:28:41 UTC
OK, closing then. 

This looks like an upstream problem but evolution-2.26 is currently not being developed by upstream :-/, then, I would suggest you to try to use 2.28 (even if most of upstream work is taking place in 2.30 and trunk but... it's still not available in main tree ;-))

Best regards
Comment 16 Raphael Mankin 2010-04-27 12:24:04 UTC
Some additional info, but still nothing that is terribly useful for debugging.

I have just come back from a couple of weeks' holiday when my machine was not switched on. The filtering problem has returned (avoided by removing filters.xml), and there is a new problem which may or may not be related.

I have IMAP folders on my server and also local MH folders. Some of the MH folders I now cannot get into. When I try to select them I get the message 'opening folder ....', evolution goes to 100% cpu and just sits there. If I select another folder, the new folder gets highlighted but the message list is not displayed. I have tried disabling the MH account, removing all the cmeta and ibex files for the folders and re-enabling the MH account, but this does not help. The problematic folders are not particularly big, at most a couple of hundered messages).

I shall try building 2.28.3.1 instead of 2.26.3, which is what I have been using for some months.
Comment 17 Pacho Ramos gentoo-dev 2010-04-27 12:48:11 UTC
Yes, try with 2.28.3.1 if possible :-)

Good luck!
Comment 18 Raphael Mankin 2010-04-28 12:56:49 UTC
Some progress with 2.28 instead of 2.26.

The problem of being unable to get into certain MH folders remains. However, it appears that the problem is only with switching between MH folders. If I go from an MH folder to an IMAP folder and then to another MH folder, then it works.

Quitting and restarting evolution does not help unless I first select a different folder. If I quit and restart without first selecting a different folder then the lock-up occurs immediately.

I deleted *.cmeta *.ibex.* and folders.db (last time I did not delete folders.db). This appears to solve the problem.

The question remains of why leaving my machine switched off for two weeks caused this to happen. Or maybe that is a red herring.

I have reinstated my filters.xml. So far so good.

Comment 19 Pacho Ramos gentoo-dev 2010-04-28 12:59:24 UTC
I would report your problems directly to upstream http://bugzilla.gnome.org , but maybe they are now more focussed on 2.30 and newer versions (that are bonobo-less and fix tons of bugs)