(NB: this bug shows how broken the Ubuntu bug reporting system is.  The
original reporter left a perfectly good bug report, and someone set it
to invalid without fixing it.  Two and a half years later, we still have
the same bug!)

I confirmed this problem on Intrepid Alpha, evolution 2.23.91-0ubuntu1.
When evolution is started as a mailto: URI handler (from Firefox, for
example) it never exits.  Not only that, but after it fails to exit, it
chews infinite amounts of CPU.  Here's my ps axwww listing:

jwb      21470     1  1 15:27 ?        00:00:18 evolution
mailto:[EMAIL 
PROTECTED]/Verizon%20EVDO%20&%3b%20many%20extras!%20-%20$749%20(noe%20valley)

You can see that evolution was started to handle a mailto: URI.  You can
also see that it has 18 CPU seconds charged against it, going up
constantly.  Let's use strace to see what it's doing:

$ strace -s 1024 -f -p 21470
Process 21583 attached with 3 threads - interrupt to quit
[pid 21583] restart_syscall(<... resuming interrupted call ...> <unfinished ...>
[pid 21470] restart_syscall(<... resuming interrupted call ...> <unfinished ...>
[pid 21581] restart_syscall(<... resuming interrupted call ...>

Nothing in particular.  Maybe GDB can tell us something:

(gdb) info threads
  3 Thread 0xb2cf9b90 (LWP 21581)  0xb7f7e430 in __kernel_vsyscall ()
  2 Thread 0xb24f8b90 (LWP 21583)  0xb7f7e430 in __kernel_vsyscall ()
  1 Thread 0xb633c940 (LWP 21470)  0xb7f7e430 in __kernel_vsyscall ()
(gdb) thread 1
[Switching to thread 1 (Thread 0xb633c940 (LWP 21470))]#0  0xb7f7e430 in 
__kernel_vsyscall ()
(gdb) where
#0  0xb7f7e430 in __kernel_vsyscall ()
#1  0xb695fde7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb6a24c32 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb6a252c2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4  0xb7516cf3 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#5  0x0805ed13 in main ()
(gdb) thread 2
[Switching to thread 2 (Thread 0xb24f8b90 (LWP 21583))]#0  0xb7f7e430 in 
__kernel_vsyscall ()
(gdb) where
#0  0xb7f7e430 in __kernel_vsyscall ()
#1  0xb695fde7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb6a24c32 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb6a252c2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4  0xb74c87f0 in ?? () from /usr/lib/libORBit-2.so.0
#5  0xb6a4c05f in ?? () from /usr/lib/libglib-2.0.so.0
#6  0xb78f74ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb696a64e in clone () from /lib/tls/i686/cmov/libc.so.6
(gdb) thread 3
[Switching to thread 3 (Thread 0xb2cf9b90 (LWP 21581))]#0  0xb7f7e430 in 
__kernel_vsyscall ()
(gdb) where
#0  0xb7f7e430 in __kernel_vsyscall ()
#1  0xb695fde7 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0xb6a24c32 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb6a252c2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#4  0xb7ae6ee2 in ?? () from /usr/lib/libebook-1.2.so.9
#5  0xb6a4c05f in ?? () from /usr/lib/libglib-2.0.so.0
#6  0xb78f74ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb696a64e in clone () from /lib/tls/i686/cmov/libc.so.6

Not too informative.  Now to answer your buck-passing questions:

$ gconftool-2 -g "/desktop/gnome/url-handlers/mailto/command"
evolution %s
$ grep -i evolution /home/jwb/.xsession-errors 
evolution-alarm-notify-Message: Setting timeout for 38317 1221980400 1221942083
evolution-alarm-notify-Message:  Sun Sep 21 00:00:00 2008
evolution-alarm-notify-Message:  Sat Sep 20 13:21:23 2008
evolution-shell-Message: Killing old version of evolution-data-server...
** (evolution:21470): DEBUG: mailto URL command: evolution %s
** (evolution:21470): DEBUG: mailto URL program: evolution

Yes, the same thing happens if I start evolution from a terminal:

$ evolution mailto:[EMAIL PROTECTED]
evolution-shell-Message: Killing old version of evolution-data-server...
** (evolution:2829): DEBUG: mailto URL command: evolution %s
** (evolution:2829): DEBUG: mailto URL program: evolution
store_db_path /home/jwb/.evolution/mail/local/folders.db
folders table succesfully created 
store_db_path /home/jwb/.evolution/mail/imap/[EMAIL 
PROTECTED]@imap.gmail.com/folders.db
folders table succesfully created 
store_db_path /home/jwb/.evolution/mail/imap/[EMAIL 
PROTECTED]@imap.gmail.com/folders.db
folders table succesfully created 
Triggering summary_reloaded on BATN 0x90821d8
Triggering summary_reloaded on INBOX 0x90e5618
Triggering summary_reloaded on [Gmail]/All Mail 0x90e5718
Triggering summary_reloaded on INBOX 0x9082258
Saving 2/14269 dirty records of INBOX
Triggering summary_reloaded on [Gmail]/Sent Mail 0x90ff090
Triggering summary_reloaded on [Gmail]/Spam 0x90ff110
Triggering summary_reloaded on [Gmail]/All Mail 0x90823d8
Saving 2/14900 dirty records of [Gmail]/All Mail
Triggering summary_reloaded on [Gmail]/Sent Mail 0x90824d8
Triggering summary_reloaded on [Gmail]/Spam 0x9082558
Saving 4/22303 dirty records of [Gmail]/Spam
Triggering summary_reloaded on geda 0x90826d8
Triggering summary_reloaded on mozilla bugs 0x9082658
Triggering summary_reloaded on pg 0x90825d8
Triggering summary_reloaded on sfbc 0x9082558
Triggering summary_reloaded on sfbike 0x90824d8
Saving 1/2583 dirty records of sfbike
Triggering summary_reloaded on simile 0x9082458
Saving 1/1 dirty records of Sent

When running from the command line, ctrl+c/SIGINT and even SIGTERM won't
kill it.  I have to use SIGKILL.

Hopefully I have provided enough information to leave the bug open this
time.


** Changed in: evolution (Ubuntu)
       Status: Invalid => Confirmed

-- 
Evolution stays running in the background when mailto: link used 
https://bugs.launchpad.net/bugs/46860
You received this bug notification because you are a member of Ubuntu
Bugs, which is a direct subscriber.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to