Comment 27 for bug 215614

Revision history for this message
Kurt Huwig (k-huwig) wrote :

I am just experiencing it the third time within 15 minutes.

Strace on evolution:

restart_syscall(<... resuming interrupted call ...>
(nothing more)

Strace on evolution-exchange-storage:

read(3, 0x1a300d4, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=22, events=POLLIN}, {fd=28, events=POLLIN}, {fd=23, events=POLLIN}], 7, 2424882) = 1 ([{fd=23, revents=POLLNVAL}])
read(3, 0x1a300d4, 4096) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN|POLLPRI}, {fd=22, events=POLLIN}, {fd=28, events=POLLIN}, {fd=23, events=POLLIN}], 7, 2424881) = 1 ([{fd=23, revents=POLLNVAL}])
(looping)

The fd is this:

lrwx------ 1 kurt kurt 64 2009-10-13 09:00 /proc/23790/fd/3 -> socket:[7373002]

for which lsof reports

evolution 23790 kurt 3u unix 0xffff88020c447440 7373002 socket

IMHO the problem has two reasons:

1. the evolution main developers don't know how to write applications that use threads. This causes the hangs within evolution.

2. the evolution-exchange-storage developers don't know how to handle connection errors.

Both in combination render the software useless.