GNOME Bugzilla – Bug 545898
crash in Evolution Mail and Calendar: Upon starting, it finish...
Last modified: 2009-05-08 06:15:11 UTC
What were you doing when the application crashed? Upon starting, it finished reading a large (50,000 email) mailbox, then hung using 100% CPU. Nonresponsive to inputs, did not redraw the window within 5 minutes when minimized and restored. Not actually a segfault, I sent the signal to generate a crashdump. Distribution: Debian 3.1 Gnome Release: 2.22.2 2008-05-29 (Debian) BugBuddy Version: 2.22.0 System: Linux 2.6.26 #1 SMP Wed Jul 23 15:59:39 EDT 2008 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10402000 Selinux: No Accessibility: Disabled GTK+ Theme: Clearlooks Icon Theme: gnome Memory status: size: 629383168 vsize: 629383168 resident: 101621760 share: 20164608 rss: 101621760 rss_rlim: 18446744073709551615 CPU usage: start_time: 1217614614 rtime: 20105 utime: 19941 stime: 164 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/evolution' Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 140316875028352 (LWP 11198)] [New Thread 1087699280 (LWP 11223)] [New Thread 1104992592 (LWP 11218)] 0x00007f9e0d0785ef in waitpid () from /lib/libpthread.so.0
+ Trace 204380
----------- .xsession-errors (589 sec old) --------------------- ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) ** Message: GetValue variable 1 (1) ** Message: GetValue variable 2 (2) (evolution:23341): gtkhtml-WARNING **: Cannot create spell dictionary instance (iid:OAFIID:GNOME_Spell_Dictionary:0.3) (evolution:23341): Bonobo-WARNING **: Activation exception 'Failed to activate 'OAFIID:GNOME_Spell_Control:0.3'' (evolution:23341): e-data-server-WARNING **: Could not open converter for 'none' to 'UTF-8' charset (evolution:23341): e-data-server-WARNING **: Could not open converter for 'UNKNOWN' to 'UTF-8' charset CalDAV Eplugin starting up ... libnm_glib_nm_state_cb: dbus returned an error. (org.freedesktop.DBus.Error.ServiceUnknown) The name org.freedesktop.NetworkManager was not provided by any .service files --------------------------------------------------
Thread #2 was the one eating 100% CPU, here's the backtrace for that one. (gdb) info threads 3 Thread 0x41dcd950 (LWP 11218) 0x00007f9e061b3d26 in poll () from /lib/libc.so.6 2 Thread 0x40d4f950 (LWP 11223) 0x00007f9e0d0724f8 in pthread_mutex_lock () from /lib/libpthread.so.0 1 Thread 0x7f9e117df780 (LWP 11198) 0x00007f9e0d0785ef in waitpid () from /lib/libpthread.so.0 (gdb) thread 2 [Switching to thread 2 (Thread 0x40d4f950 (LWP 11223))]#0 0x00007f9e0d0724f8 in pthread_mutex_lock () from /lib/libpthread.so.0 (gdb) bt
+ Trace 204382
reproducable: 1) wipe the .evolution folder. 2) Create a new IMAP account that accesses a very large (50k in my case) mailbox. 3) Connect to IMAP server, allow evo to fetch all headers and finish all tasks. 4) Exit evo 5) restart evo. step 5 hangs with the status message "Scanning for changed messages in inbox2 (100%)", while being unresponsive and consuming 100% of the CPU. After approximately 15 minutes, it becomes responsive again, and everything works as expected. "unresponsive" in this case means not redrawing the window on X11 expose events, no button presses are registered - it looked hung. I would have killed the process, but I was talking on IRC about the problem, and was surprised when it actually continued. pertenant section of the log CAMEL_DEBUG=all, CAMEL_VERBOSE_DEBUG=1 ... received: * OK Dovecot ready. sending : A00000 CAPABILITY received: * CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LIT ERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS LOGINDISABLED received: A00000 OK Capability completed. sending : A00001 STARTTLS received: A00001 OK Begin TLS negotiation now. sending : A00002 CAPABILITY received: * CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LIT ERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS AUTH=PLAIN AUTH=LOGIN received: A00002 OK Capability completed. sending : A 00003 LOGIN xxx xxx received: A00003 OK Logged in. sending : A00004 NAMESPACE received: * NAMESPACE (("" ".")) NIL NIL received: A00004 OK Namespace completed. sending : A00005 LIST "" {1+} * [snipped folder list] received: * LIST (\HasNoChildren) "." "inbox2" received: * LIST (\HasNoChildren) "." "Trash" received: * LIST (\HasNoChildren) "." "Drafts" received: * LIST (\Unmarked) "." "INBOX" received: A00005 OK List completed. sending : A00006 LSUB "" {1+} * received: * LSUB () "." "Trash" received: * LSUB () "." "Drafts" received: * LSUB () "." "Sent" received: * LSUB () "." "Junk" received: * LSUB () "." "inbox2" received: * LSUB () "." "INBOX" received: A00006 OK Lsub completed. sending : A00007 SELECT INBOX received: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Fo rwarded Junk NotJunk) received: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Forwarded Junk NotJunk \*)] Flags permitted. received: * 13005 EXISTS received: * 0 RECENT received: * OK [UNSEEN 3010] First unseen. received: * OK [UIDVALIDITY 1161115722] UIDs valid received: * OK [UIDNEXT 17573] Predicted next UID received: A00007 OK [READ-WRITE] Select completed. sending : A00008 UID FETCH 1:17572 (FLAGS) received: * 1 FETCH (FLAGS (\Seen NonJunk) UID 1) received: * 2 FETCH (FLAGS (\Seen NonJunk) UID 2) received: * 3 FETCH (FLAGS (\Seen NonJunk) UID 3) received: * 4 FETCH (FLAGS (\Seen NonJunk) UID 4) received: * 5 FETCH (FLAGS (\Seen NonJunk) UID 5) received: * 6 FETCH (FLAGS (\Seen NonJunk) UID 6) received: * 7 FETCH (FLAGS (\Seen NonJunk) UID 7) received: * 8 FETCH (FLAGS (\Seen NonJunk) UID 8) received: * 9 FETCH (FLAGS (\Seen NonJunk) UID 9) received: * 10 FETCH (FLAGS (\Seen NonJunk) UID 10) received: * 11 FETCH (FLAGS (\Seen NonJunk) UID 11) [snip FETCH list] received: A00008 OK Fetch completed. 15 minute pause. Last message on the status bar is "scanning for changed messages in inbox2 (100%)" Sharp eyes will notice INBOX on this trace - same problem, lower message count so it only hangs a few minutes instead of 15. After the pause, the screen redraws and the following is written to the log: sending : A00009 SELECT INBOX received: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Fo rwarded Junk NotJunk) received: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Forwarded Junk NotJunk \*)] Flags permitted. received: * 13005 EXISTS received: * 0 RECENT received: * OK [UNSEEN 3010] First unseen. received: * OK [UIDVALIDITY 1161115722] UIDs valid received: * OK [UIDNEXT 17573] Predicted next UID received: A00009 OK [READ-WRITE] Select completed. sending : A00010 FETCH 13005 UID received: * 13005 FETCH (UID 17572) received: A00010 OK Fetch completed. sending : A00011 SELECT INBOX received: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Fo rwarded Junk NotJunk) received: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk $MDNSent $Forwarded Junk NotJunk \*)] Flags permitted. received: * 13005 EXISTS received: * 0 RECENT received: * OK [UNSEEN 3010] First unseen. received: * OK [UIDVALIDITY 1161115722] UIDs valid received: * OK [UIDNEXT 17573] Predicted next UID received: A00011 OK [READ-WRITE] Select completed. sending : A00012 FETCH 13005 UID received: * 13005 FETCH (UID 17572) received: A00012 OK Fetch completed. at this point everything works as expected.
Thanks for taking the time to report this bug. Unfortunately, the stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Could you please help fixing this by installing some debugging packages [1], start the application as normal, and try to reproduce the crash, if possible? Once bug-buddy pops up, you can find the stacktrace in the 'Details', now containing way more information. Please copy that stacktrace and paste it as a comment here. Thanks in advance! [1] Please install debug packages for evolution, evolution-data-server, gtkhtml, gtk, glib, gnome-vfs, pango, libgnome and libgnomeui (as far as those packages are provided by your distribution). More details can be found here: http://live.gnome.org/GettingTraces
Again, this isn't a crash, this is a lockup. After about 15 minutes of this, it will eventually finish and resume normal operations. Strace of the busy thread shows the only syscalls are futex (all the locks/unlocks). No network IO, no disk IO until it completes. It's spinning through RAM 100% of the time. vmstat shows no swap or disk activity during the run. Here's a backtrace of the busy thread from gdb: (gdb) bt
+ Trace 204567
This should be better in 2.26.0, or 2.24.5, especially because of bug #568332. Could you try with one of these and report back, please? Thanks in advance. (I tend to close this as a duplicate of the above bug, but I would rather wait for your input, if possible.)
Please feel free to reopen the bug if the fix doesn't work for you well, thanks. *** This bug has been marked as a duplicate of 568332 ***