After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576390 - evolution hangs with 100% cpu load on startup
evolution hangs with 100% cpu load on startup
Status: RESOLVED INCOMPLETE
Product: evolution
Classification: Applications
Component: Mailer
2.24.x (obsolete)
Other All
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks: 543389
 
 
Reported: 2009-03-23 12:20 UTC by bugreports
Modified: 2009-07-24 04:21 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
stack trace (389.15 KB, text/plain)
2009-03-23 12:21 UTC, bugreports
Details
backtrace attained for evo having CAMEL_SQLITE_DEFAULT_CACHE_SIZE=1000 (77.04 KB, text/plain)
2009-03-28 19:00 UTC, bugreports
Details

Description bugreports 2009-03-23 12:20:24 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.
Comment 1 bugreports 2009-03-23 12:21:02 UTC
Created attachment 131178 [details]
stack trace
Comment 2 bugreports 2009-03-23 12:58:29 UTC
I noticed that rm -rf'ing the imap folder makes evo start again.
Comment 3 Srinivasa Ragavan 2009-03-24 04:08:38 UTC
setting cache size in sqlite is never returning ? Which version of evo/eds/sqlite do you use?
Comment 4 bugreports 2009-03-24 06:10:39 UTC
$ 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)
Comment 5 bugreports 2009-03-24 06:43:16 UTC
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).
Comment 6 Srinivasa Ragavan 2009-03-24 10:33:51 UTC
Its /home/sonne/.evolution/mail/imap/newsgate@mail.nn7.de/folders.db

Thread 4 (Thread 0xb4f98b90 (LWP 21270))

  • #0 keywordCode
    at sqlite3.c line 16215
  • #1 sqlite3GetToken
    at sqlite3.c line 76613
  • #2 sqlite3RunParser
    at sqlite3.c line 76659
  • #3 sqlite3Prepare
    at sqlite3.c line 63210
  • #4 sqlite3LockAndPrepare
    at sqlite3.c line 63291
  • #5 sqlite3_exec
    at sqlite3.c line 60349
  • #6 cdb_sql_exec
    at camel-db.c line 432
  • #7 camel_db_command
    at camel-db.c line 555
  • #8 camel_db_open
    at camel-db.c line 496
  • #9 construct
    at camel-store.c line 238

is the trace all over where it is infinite.

Is this always or just once?

Comment 7 bugreports 2009-03-24 10:40:37 UTC
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...
Comment 8 Srinivasa Ragavan 2009-03-24 15:57:23 UTC
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

Comment 9 bugreports 2009-03-28 19:00:14 UTC
Created attachment 131585 [details]
backtrace attained for evo having CAMEL_SQLITE_DEFAULT_CACHE_SIZE=1000
Comment 10 bugreports 2009-03-29 07:50:27 UTC
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...
Comment 11 Srinivasa Ragavan 2009-03-30 03:38:20 UTC
When it rebuilds, you start having the issues(hang) back right? This seems like some sqlite issue. But lemme ananlyze more.
Comment 12 bugreports 2009-03-30 04:50:38 UTC
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).
Comment 13 Srinivasa Ragavan 2009-06-20 13:30:51 UTC
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
Comment 14 Akhil Laddha 2009-07-24 04:21:48 UTC
Please feel free to reopen the bug if the problem still occurs with a newer
version of GNOME 2.26.3 or later, thanks.