evolution-data-server chews up 100% of CPU / goes into infinite loop

Bug #4404 reported by Sitsofe Wheeler
6
Affects Status Importance Assigned to Milestone
evolution-data-server (Ubuntu)
Invalid
Medium
Ubuntu Desktop Bugs

Bug Description

Description of the problem:
When date widget at the top right of my screen CPU usage hits 100%. Upon using top I found that the culprit was evolution-data-server . The problem appears to be webcal related.

Steps to reproduce the problem (from a clean profile):
1. Start evolution .
2. Click Forward.
3. In the Email Address box type x@x . Click Forward.
4. Click Forward.
5. Select a Server Type of Sendmail. Click Forward.
6. Click Forward.
7. Click Forward.
8. Click Apply.
9. Press Ctrl-F3 to go to the calendars page.
10. Press Ctrl-Shift-N to bring up the New Calendar dialog.
11. In the New Calendar dialog change the type to "On the Web", Type "UK Holidays" in Name textbox, and set the URL to webcal://icalx.com/public/elc/Public32Holidays.ics . Click OK.
12. Close evolution.
13. Click the clock applet at the top right.

Reproducability:
Hard to reproduce.

Traces:
DEB_BUILD_OPTIONS=nostrip fakeroot apt-get -b source evolution-data-server

x@x:~$ gdb -p 7589
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
Attaching to process 7589
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

warning: could not load vsyscall page because no executable was specified

warning: try using the "file" command first
Reading symbols from /usr/lib/evolution/evolution-data-server-1.4...done.
Reading symbols from /usr/lib/libedata-book-1.2.so.2...done.
Loaded symbols for /usr/lib/libedata-book-1.2.so.2
Reading symbols from /usr/lib/libebook-1.2.so.5...done.
Loaded symbols for /usr/lib/libebook-1.2.so.5
Reading symbols from /usr/lib/libcamel-1.2.so.0...done.
Loaded symbols for /usr/lib/libcamel-1.2.so.0
Reading symbols from /usr/lib/libnss3.so...done.
Loaded symbols for /usr/lib/libnss3.so
Reading symbols from /usr/lib/libsmime3.so...done.
Loaded symbols for /usr/lib/libsmime3.so
Reading symbols from /usr/lib/libssl3.so...done.
Loaded symbols for /usr/lib/libssl3.so
Reading symbols from /usr/lib/libsoftokn3.so...done.
Loaded symbols for /usr/lib/libsoftokn3.so
Reading symbols from /usr/lib/libkrb4.so.2...done.
Loaded symbols for /usr/lib/libkrb4.so.2
Reading symbols from /usr/lib/libdes425.so.3...done.
Loaded symbols for /usr/lib/libdes425.so.3
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libedata-cal-1.2.so.1...done.
Loaded symbols for /usr/lib/libedata-cal-1.2.so.1
Reading symbols from /usr/lib/libecal-1.2.so.3...done.
Loaded symbols for /usr/lib/libecal-1.2.so.3
Reading symbols from /usr/lib/libedataserver-1.2.so.4...done.
Loaded symbols for /usr/lib/libedataserver-1.2.so.4
Reading symbols from /usr/lib/libgnome-2.so.0...done.
Loaded symbols for /usr/lib/libgnome-2.so.0
Reading symbols from /usr/lib/libesd.so.0...done.
Loaded symbols for /usr/lib/libesd.so.0
Reading symbols from /usr/lib/libaudiofile.so.0...done.
Loaded symbols for /usr/lib/libaudiofile.so.0
Reading symbols from /usr/lib/libgnomevfs-2.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgnomevfs-2.so.0.1200.1...done.
done.
Loaded symbols for /usr/lib/libgnomevfs-2.so.0
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/libgnutls.so.11...done.
Loaded symbols for /usr/lib/libgnutls.so.11
Reading symbols from /usr/lib/libtasn1.so.2...done.
Loaded symbols for /usr/lib/libtasn1.so.2
Reading symbols from /usr/lib/libgcrypt.so.11...done.
Loaded symbols for /usr/lib/libgcrypt.so.11
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libnsl-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /usr/lib/libgpg-error.so.0...done.
Loaded symbols for /usr/lib/libgpg-error.so.0
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/tls/i686/cmov/libresolv.so.2...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libresolv-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libresolv.so.2
Reading symbols from /lib/tls/i686/cmov/librt.so.1...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/librt-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/librt.so.1
Reading symbols from /usr/lib/libbonobo-2.so.0...done.
Loaded symbols for /usr/lib/libbonobo-2.so.0
Reading symbols from /usr/lib/libgconf-2.so.4...done.
Loaded symbols for /usr/lib/libgconf-2.so.4
Reading symbols from /usr/lib/libbonobo-activation.so.4...done.
Loaded symbols for /usr/lib/libbonobo-activation.so.4
Reading symbols from /usr/lib/libORBitCosNaming-2.so.0...done.
Loaded symbols for /usr/lib/libORBitCosNaming-2.so.0
Reading symbols from /usr/lib/libORBit-2.so.0...done.
Loaded symbols for /usr/lib/libORBit-2.so.0
Reading symbols from /lib/libpopt.so.0...done.
Loaded symbols for /lib/libpopt.so.0
Reading symbols from /usr/lib/libgobject-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgobject-2.0.so.0.800.3...done.
done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /lib/tls/i686/cmov/libm.so.6...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libm-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /usr/lib/libgmodule-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgmodule-2.0.so.0.800.3...done.
done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /usr/lib/libgthread-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libgthread-2.0.so.0.800.3...done.
done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...Reading symbols from /usr/lib/debug/usr/lib/libglib-2.0.so.0.800.3...done.
done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libplds4.so...done.
Loaded symbols for /usr/lib/libplds4.so
Reading symbols from /usr/lib/libplc4.so...done.
Loaded symbols for /usr/lib/libplc4.so
Reading symbols from /usr/lib/libnspr4.so...done.
Loaded symbols for /usr/lib/libnspr4.so
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libdl-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /lib/tls/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libc-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libpthread-2.3.5.so...done.
[Thread debugging using libthread_db enabled]
[New Thread -1219955008 (LWP 7589)]
[New Thread -1232925776 (LWP 7596)]
[New Thread -1224262736 (LWP 7590)]
done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libasound.so.2...done.
Loaded symbols for /usr/lib/libasound.so.2
Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.3.5.so...done.
done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libnss_compat-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libnss_nis-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libnss_files-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libebookbackendgroupwise.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libebookbackendgroupwise.so
Reading symbols from /usr/lib/libegroupwise-1.2.so.8...done.
Loaded symbols for /usr/lib/libegroupwise-1.2.so.8
Reading symbols from /usr/lib/libsoup-2.2.so.8...done.
Loaded symbols for /usr/lib/libsoup-2.2.so.8
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libebookbackendfile.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libebookbackendfile.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libecalbackendcontacts.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libecalbackendcontacts.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libebookbackendldap.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libebookbackendldap.so
Reading symbols from /usr/lib/libldap_r.so.2...done.
Loaded symbols for /usr/lib/libldap_r.so.2
Reading symbols from /usr/lib/liblber.so.2...done.
Loaded symbols for /usr/lib/liblber.so.2
Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib/tls/i686/cmov/libcrypt-2.3.5.so...done.
done.
Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1
Reading symbols from /usr/lib/libsasl2.so.2...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libebookbackendvcf.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libebookbackendvcf.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libecalbackendgroupwise.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libecalbackendgroupwise.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libecalbackendfile.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libecalbackendfile.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libecalbackendweather.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libecalbackendweather.so
Reading symbols from /usr/lib/evolution-data-server-1.2/extensions/libecalbackendhttp.so...done.
Loaded symbols for /usr/lib/evolution-data-server-1.2/extensions/libecalbackendhttp.so
Reading symbols from /usr/lib/gnome-vfs-2.0/modules/libfile.so...done.
Loaded symbols for /usr/lib/gnome-vfs-2.0/modules/libfile.so
Reading symbols from /usr/lib/libfam.so.0...done.
Loaded symbols for /usr/lib/libfam.so.0
0xb754ce9d in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
(gdb) thread apply all bt

Thread 3 (Thread -1224262736 (LWP 7590)):
#0 0xffffe410 in ?? ()
#1 0xb7073378 in ?? ()
#2 0xffffffff in ?? ()
#3 0x00000009 in ?? ()
#4 0xb76170f4 in poll () from /lib/tls/i686/cmov/libc.so.6
#5 0xb76eb348 in g_main_context_iterate (context=0x808ef88, block=1, dispatch=1, self=0x808e558) at gmain.c:2867
#6 0xb76eb7e3 in IA__g_main_loop_run (loop=0x8075618) at gmain.c:2769
#7 0xb77e537e in link_thread_io_context () from /usr/lib/libORBit-2.so.0
#8 0xb77048c4 in g_thread_create_proxy (data=0x808e558) at gthread.c:564
#9 0xb754b361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb7620bde in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread -1232925776 (LWP 7596)):
#0 0xffffe410 in ?? ()
#1 0xb6830368 in ?? ()
#2 0xffffffff in ?? ()
#3 0x00000001 in ?? ()
#4 0xb76170f4 in poll () from /lib/tls/i686/cmov/libc.so.6
#5 0xb76eb348 in g_main_context_iterate (context=0x80ab5a8, block=1, dispatch=1, self=0x80b6238) at gmain.c:2867
#6 0xb76eb7e3 in IA__g_main_loop_run (loop=0x8093428) at gmain.c:2769
#7 0xb7efbe5b in startup_mainloop (arg=0x0) at e-book.c:3727
#8 0xb77048c4 in g_thread_create_proxy (data=0x80b6238) at gthread.c:564
#9 0xb754b361 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb7620bde in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1219955008 (LWP 7589)):
#0 0xb754ce9d in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1 0xb762dade in pthread_mutex_lock () from /lib/tls/i686/cmov/libc.so.6
#2 0xb76eab42 in IA__g_main_context_prepare (context=0x806ba98, priority=0xbf951b08) at gmain.c:2254
#3 0xb76eb14e in g_main_context_iterate (context=0x806ba98, block=1, dispatch=1, self=0x804e980) at gmain.c:2545
#4 0xb76eb7e3 in IA__g_main_loop_run (loop=0x8084090) at gmain.c:2769
#5 0xb7864590 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#6 0x0804bae9 in main (argc=3, argv=0x806ea28) at server.c:347
#0 0xb754ce9d in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
(gdb)

x@x:~$ strace -p 7589
Process 7589 attached - interrupt to quit
poll([{fd=22, events=POLLIN}, {fd=25, events=POLLIN|POLLPRI}], 2, 0) = 0
poll([{fd=22, events=POLLIN}, {fd=25, events=POLLIN|POLLPRI}], 2, 0) = 0
...
poll([{fd=22, events=POLLIN}, {fd=25, events=POLLIN|POLLPRI}], 2, 0) = 0

x@x:~$ lsof +L -d 25
lsof: WARNING: can't stat() ext3 file system /dev/.static/dev
      Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
x-session 7407 x 25u unix 0xcccc2a40 11879 /tmp/.ICE-unix/7407
gconfd-2 7451 x 25u unix 0xca2d39e0 11236 socket
bonobo-ac 7485 x 25u unix 0xcb818e20 11106 /tmp/orbit-x/linc-1d3d-0-6f4d548c41a4c
gnome-set 7487 x 25u unix 0xc970ee40 29795 socket
gnome-pan 7533 x 25r FIFO 0,5 1 11422 pipe
wnck-appl 7541 x 25w FIFO 0,5 1 11243 pipe
trashappl 7552 x 25w FIFO 0,5 1 11319 pipe
gnome-vfs 7555 x 25r FIFO 0,5 1 11369 pipe
mixer_app 7574 x 25w FIFO 0,5 1 11470 pipe
multiload 7576 x 25w FIFO 0,5 1 11524 pipe
gnome-net 7578 x 25w FIFO 0,5 1 11507 pipe
clock-app 7580 x 25w FIFO 0,5 1 11568 pipe
notificat 7582 x 25w FIFO 0,5 1 11541 pipe
evolution 7586 x 25w FIFO 0,5 1 11876 pipe
evolution 7589 x 25r FIFO 0,5 1 11906 pipe

Additional information:
It's hard to know for sure, but this bug may be related to http://bugzilla.ubuntu.com/show_bug.cgi?id=2574 or http://bugzilla.ubuntu.com/show_bug.cgi?id=8740 . Also the http://tinyurl.com/afd8b GNOME bugzilla search also turns up some possible candidates too.

Changed in evolution-data-server:
assignee: nobody → gnome
Revision history for this message
Daniel Holbach (dholbach) wrote :

Thanks for your bug report. Which version of Ubuntu and evolution-data-server do you use? Do you still have that issue?

Changed in evolution-data-server:
assignee: gnome → desktop-bugs
status: Unconfirmed → Needs Info
Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

I was using Dapper but I have since upgraded evolution a few times so I can't say which version of evolution-data-server it was (probably the latest at that time). I shall try reproducing with a newer evolution.

Revision history for this message
Dean Sas (dsas) wrote :

Any luck with reproducing that Sitsofe?

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Thanks for the ping Dean.

No no luck at all unfortunately. It was a fairly difficult problem to reproduce in the first place and now it doesn't happen at all. I'm going chalk this up as a phantom bug and reject it for now. If it happens again I'll reopen the bug.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Rejecting because it has been unreproducible. Will reopen if it reoccurs.

Changed in evolution-data-server:
status: Needs Info → Rejected
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.