GNOME Bugzilla – Bug 576390
evolution hangs with 100% cpu load on startup
Last modified: 2009-07-24 04:21:48 UTC
Steps to reproduce: 1. start evolution Stack trace: GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". (gdb) attach 21240 [...] The program is running. Quit anyway (and detach it)? (y or n) Detaching from program: /usr/bin/evolution, process 21240 (I will attach the stactrace again, the form didn't allow me to submit it because it is too large!) Other information: I am not sure what is going on: After system boot evo starts (often) normally. Then at some point it hangs trying to fetch new email. I then do evolution --force-shutdown to get rid of the process. However, then starting evo again gives the hang on startup with 100% cpu load bug I am seeing. I attach a backtrace of when that happenes - I hope it is useful.
Created attachment 131178 [details] stack trace
I noticed that rm -rf'ing the imap folder makes evo start again.
setting cache size in sqlite is never returning ? Which version of evo/eds/sqlite do you use?
$ dpkg -l | grep sqlite ii libmono-sqlite1.0-cil 2.0.1-5 Mono Sqlite library ii libmono-sqlite2.0-cil 2.0.1-5 Mono Sqlite library ii libqt4-sql-sqlite 4.4.3-2 Qt 4 SQLite 3 database driver ii libqt4-sql-sqlite2 4.4.3-2 Qt 4 SQLite 2 database driver ii libsqlite0 2.8.17-4 SQLite shared library ii libsqlite0-dev 2.8.17-4 SQLite development files ii libsqlite3-0 3.5.9-6 SQLite 3 shared library ii libsqlite3-0-dbg 3.5.9-6 SQLite 3 debugging symbols ii libsqlite3-dev 3.5.9-6 SQLite 3 development files ii python-pysqlite2 2.5.0-2 Python interface to SQLite 3 ii sqlite3 3.5.9-6 A command line interface for SQLite 3 $ dpkg -l | grep evolution ii evolution 2.24.5-2 groupware suite with mail client and organiz ii evolution-common 2.24.5-2 architecture independent files for Evolution ii evolution-data-server 2.24.5-2 evolution database backend server ii evolution-data-server-common 2.24.5-2 architecture independent files for Evolution ii evolution-data-server-dbg 2.24.5-2 evolution database backend server with debug ii evolution-data-server-dev 2.24.5-2 Development files for evolution-data-server ii evolution-dbg 2.24.5-2 debugging symbols for Evolution ii evolution-dev 2.24.5-2 development library files for Evolution ii evolution-plugins 2.24.5-2 standard plugins for Evolution ii evolution-plugins-experimental 2.24.5-2 experimental plugins for Evolution ii evolution-webcal 2.21.92-1+b1 webcal: URL handler for GNOME and Evolution ii libebackend1.2-0 2.24.5-2 Utility library for evolution data servers ii libebackend1.2-dev 2.24.5-2 Utility library for evolution data servers ( ii libebook1.2-9 2.24.5-2 Client library for evolution address books ii libebook1.2-dev 2.24.5-2 Client library for evolution address books ( ii libecal1.2-7 2.24.5-2 Client library for evolution calendars ii libecal1.2-dev 2.24.5-2 Client library for evolution calendars (deve ii libedata-book1.2-2 2.24.5-2 Backend library for evolution address books ii libedata-book1.2-dev 2.24.5-2 Backend library for evolution address books ii libedata-cal1.2-6 2.24.5-2 Backend library for evolution calendars ii libedata-cal1.2-dev 2.24.5-2 Backend library for evolution calendars (dev ii libedataserver1.2-11 2.24.5-2 Utility library for evolution data servers ii libedataserver1.2-9 2.22.3-1.1 Utility library for evolution data servers ii libedataserver1.2-dev 2.24.5-2 Utility library for evolution data servers ( ii libedataserverui1.2-8 2.24.5-2 GUI utility library for evolution data serve ii libedataserverui1.2-dev 2.24.5-2 GUI utility library for evolution data serve ii libexchange-storage1.2-dev 2.24.5-2 Backend library for evolution calendars (dev $ ldd /usr/bin/evolution linux-gate.so.1 => (0xb7ee5000) libeshell.so.0 => /usr/lib/evolution/2.24/libeshell.so.0 (0xb7ed4000) libetimezonedialog.so.0 => /usr/lib/evolution/2.24/libetimezonedialog.so.0 (0xb7ecf000) libemiscwidgets.so.0 => /usr/lib/evolution/2.24/libemiscwidgets.so.0 (0xb7e6a000) libebackend-1.2.so.0 => /usr/lib/libebackend-1.2.so.0 (0xb7e31000) libhal.so.1 => /usr/lib/libhal.so.1 (0xb7e21000) libnotify.so.1 => /usr/lib/libnotify.so.1 (0xb7e19000) libgdata-1.2.so.1 => /usr/lib/libgdata-1.2.so.1 (0xb7e0e000) libgdata-google-1.2.so.1 => /usr/lib/libgdata-google-1.2.so.1 (0xb7e08000) libetext.so.0 => /usr/lib/evolution/2.24/libetext.so.0 (0xb7df6000) libetable.so.0 => /usr/lib/evolution/2.24/libetable.so.0 (0xb7d83000) libevolution-widgets-a11y.so.0 => /usr/lib/evolution/2.24/libevolution-widgets-a11y.so.0 (0xb7d7b000) libevolution-a11y.so.0 => /usr/lib/evolution/2.24/libevolution-a11y.so.0 (0xb7d67000) libeutil.so.0 => /usr/lib/evolution/2.24/libeutil.so.0 (0xb7d2f000) libcamel-provider-1.2.so.14 => /usr/lib/libcamel-provider-1.2.so.14 (0xb7cd2000) libgtkhtml-editor.so.0 => /usr/lib/libgtkhtml-editor.so.0 (0xb7ca6000) libnss3.so.1d => /usr/lib/libnss3.so.1d (0xb7bba000) libnssutil3.so.1d => /usr/lib/libnssutil3.so.1d (0xb7ba6000) libsmime3.so.1d => /usr/lib/libsmime3.so.1d (0xb7b87000) libssl3.so.1d => /usr/lib/libssl3.so.1d (0xb7b60000) libedataserverui-1.2.so.8 => /usr/lib/libedataserverui-1.2.so.8 (0xb7b32000) libebook-1.2.so.9 => /usr/lib/libebook-1.2.so.9 (0xb7b00000) libcamel-1.2.so.14 => /usr/lib/libcamel-1.2.so.14 (0xb7a95000) libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7a25000) libplds4.so.0d => /usr/lib/libplds4.so.0d (0xb7a22000) libplc4.so.0d => /usr/lib/libplc4.so.0d (0xb7a1e000) libnspr4.so.0d => /usr/lib/libnspr4.so.0d (0xb79ea000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb78cc000) libgpilotd.so.2 => /usr/lib/libgpilotd.so.2 (0xb78ba000) libgpilotdcm.so.2 => /usr/lib/libgpilotdcm.so.2 (0xb78ae000) libgpilotdconduit.so.2 => /usr/lib/libgpilotdconduit.so.2 (0xb789c000) libpisync.so.1 => /usr/lib/libpisync.so.1 (0xb7898000) libpisock.so.9 => /usr/lib/libpisock.so.9 (0xb785e000) libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0xb7856000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb783c000) libbluetooth.so.2 => /usr/lib/libbluetooth.so.2 (0xb7829000) libecal-1.2.so.7 => /usr/lib/libecal-1.2.so.7 (0xb7785000) libedataserver-1.2.so.11 => /usr/lib/libedataserver-1.2.so.11 (0xb7760000) libsoup-2.4.so.1 => /usr/lib/libsoup-2.4.so.1 (0xb7725000) libgtkhtml-3.14.so.19 => /usr/lib/libgtkhtml-3.14.so.19 (0xb7677000) libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xb75ec000) libSM.so.6 => /usr/lib/libSM.so.6 (0xb75e4000) libICE.so.6 => /usr/lib/libICE.so.6 (0xb75cc000) libglade-2.0.so.0 => /usr/lib/libglade-2.0.so.0 (0xb75b5000) libenchant.so.1 => /usr/lib/libenchant.so.1 (0xb75aa000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb75a6000) libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xb7547000) libgnomevfs-2.so.0 => /usr/lib/libgnomevfs-2.so.0 (0xb74ec000) libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0xb74bc000) libgnome-2.so.0 => /usr/lib/libgnome-2.so.0 (0xb74a7000) libpopt.so.0 => /lib/libpopt.so.0 (0xb749d000) libbonobo-2.so.0 => /usr/lib/libbonobo-2.so.0 (0xb7440000) libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0xb742b000) libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0xb73d6000) libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb73c0000) libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb738c000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7387000) librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb737e000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb6fdf000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb6ea5000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb6e19000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb6dfe000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb6dd6000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb6dbd000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb6d97000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb6d8d000) libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb6d1f000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb6ca7000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb6c63000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6bec000) libz.so.1 => /usr/lib/libz.so.1 (0xb6bd7000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6bab000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb6ba7000) libnm_glib.so.0 => /usr/lib/libnm_glib.so.0 (0xb6b88000) libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb6b6b000) libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb6b33000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb6af6000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb6a3f000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb68df000) libdb-4.7.so => /usr/lib/libdb-4.7.so (0xb6787000) libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb66f3000) libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb66cf000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xb66cc000) libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb66a1000) libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0xb6690000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb6677000) libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb6644000) /lib/ld-linux.so.2 (0xb7ee6000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb65a6000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6530000) libgailutil.so.18 => /usr/lib/libgailutil.so.18 (0xb6529000) libuuid.so.1 => /lib/libuuid.so.1 (0xb6524000) libavahi-glib.so.1 => /usr/lib/libavahi-glib.so.1 (0xb6521000) libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0xb6515000) libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0xb6505000) libresolv.so.2 => /lib/i686/cmov/libresolv.so.2 (0xb64ef000) libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb64ea000) libesd.so.0 => /usr/lib/libesd.so.0 (0xb64e0000) libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb64bd000) libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0xb64b8000) libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb6488000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb6485000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb6482000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb647d000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb646f000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6465000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb6462000) libXi.so.6 => /usr/lib/libXi.so.6 (0xb6459000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb6452000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6449000) libselinux.so.1 => /lib/libselinux.so.1 (0xb642f000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0xb63ed000) libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0xb6374000) libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0xb636b000) libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0xb6354000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb632f000) libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0xb632b000) libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0xb6324000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb62fe000) libnm-util.so.1 => /usr/lib/libnm-util.so.1 (0xb62cf000) libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb62c6000) libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb62c3000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb62c0000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb62bb000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb62ab000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb62a6000) libasound.so.2 => /usr/lib/libasound.so.2 (0xb61de000)
Do you by any chance know on which of the sqlite db files it hangs? Maybe I could supply the file or you me a few lines of C code to do the same outside of evolution (yes I have a backup of the imap directory).
Its /home/sonne/.evolution/mail/imap/newsgate@mail.nn7.de/folders.db
+ Trace 213803
Thread 4 (Thread 0xb4f98b90 (LWP 21270))
is the trace all over where it is infinite. Is this always or just once?
I don't understand the question. I was unable to start evo at all with the old imap folder. I could backup the current one and move the broken one back and test again (I hope that is safe). So what should I try to do that might help to understand the problem? I could aswell run evo via valgrind or something...
that was my question. This is always happening then. can you the following on the terminal? export CAMEL_SQLITE_DEFAULT_CACHE_SIZE=1000 gdb evolution gdb>> run Just test, if increasing the cache size helps. Evo sets to a value of 100. Using this env you can inc/dec. Try it and lemme know if anything does a trick
Created attachment 131585 [details] backtrace attained for evo having CAMEL_SQLITE_DEFAULT_CACHE_SIZE=1000
For the record, it always helps to just erase the folders.db file evo hangs on. However, evo will then rebuild the whole index... I still have no idea how to trigger it but I suspect it is caused by evolution hanging at some point...
When it rebuilds, you start having the issues(hang) back right? This seems like some sqlite issue. But lemme ananlyze more.
Well, after erasing the folders.db file, it rebuilds and it works just fine for quite some time (that is why I didn't reply earlier - it took 4 days for the problem to re-occur).
Hey, is it still the same case? Honestly it seems to be an sqlite issue to me. Just post me if this bug still occurs to you. Thanks
Please feel free to reopen the bug if the problem still occurs with a newer version of GNOME 2.26.3 or later, thanks.