GNOME Bugzilla – Bug 723594
evolution hangs forever (dead lock ?) when connecting to a different network (and being allocated a different IP)
Last modified: 2014-03-26 08:36:29 UTC
Very often, especially when I'm connecting my laptop in a new network (home network vs work network), evolution hangs by having many background operations that are stuck. See attached screnshoot. If I start a network operation, it is queued and never completes. Aborting the operation cause another operation called "Canceling ...", and it is never aborted. Closing evolution is impossible. A summary of the processes having "evolution" in their argument list (ps fux | grep evolution): mildred 1564 0.0 0.0 649632 8228 ? Ssl Feb03 0:00 gnome-session mildred 1738 1.5 2.6 2171040 435028 ? Sl Feb03 20:18 \_ /usr/bin/gnome-shell mildred 2520 0.7 0.8 4610456 144096 ? Sl Feb03 4:58 | \_ evolution mildred 1942 0.0 0.1 877708 29320 ? Sl Feb03 0:00 \_ /usr/libexec/evolution/3.10/evolution-alarm-notify mildred 2250 0.0 0.2 1422748 42948 ? Sl Feb03 0:00 /usr/libexec/evolution-addressbook-factory mildred 2227 1.3 0.5 1724564 91820 ? Sl Feb03 17:11 /usr/libexec/evolution-calendar-factory mildred 1825 0.0 0.1 1112532 23392 ? SLl Feb03 0:44 /usr/libexec/evolution-source-registry Stack trace of "evolution":
+ Trace 233123
When attaching strace to the "evolution" process, I get the following lines seemingly repeatedly: poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}], 4, 203) = 1 ([{fd=6, revents=POLLIN}]) recvfrom(6, "\241 {Y\22\0\340\1}\1\0\0,\275\2\0\0\0\0\0\320!\356\234\6\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32 recvfrom(6, 0x24dc164, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x24dc164, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvfrom(6, 0x24dc164, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}], 4, 0) = 0 (Timeout) poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\206\3\4\0\25\0\340\1\0\0\0\0-\275\2\0005\30\4\0\344\231\372\1\22\0\340\1\t\6\36\0"..., 16376}, {NULL, 0}, {"", 0}], 3) = 16376 recvfrom(6, 0x24dc164, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=6, revents=POLLOUT}]) writev(6, [{"\212\nV\0\3\0\340\1\r\232\372\1\345\231\372\1$\0\0\0r\1\22\0\0\232\22\0\0\253\22\0"..., 16368}, {NULL, 0}, {"", 0}], 3) = 16368 recvfrom(6, 0x24dc164, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) file descriptor 6 corresponds to a socket (lsof output): evolution 2520 mildred 6u unix 0xffff8803d56e7a80 0t0 1580371 socket
I posted the stack traces of all the evolution processes, but they get all collapsed in the same section. The stack traes are from the following processes in that order: - evolution - evolution-alarm-notify - evolution-addressbook-factory - evolution-calendar-factory - evolution-source-registry
Created attachment 268043 [details] screenshoot describing the problem
As I said on bug #723596 (which seems related) the problem was caused because: - yesterday, the computer was put to sleep while still connected to the wired network - this morning, I moved the computer to another network, plugged in the wired connection, and resumed the computer from sleep. Applications did not notice a disconnect, and thus might think they are connected to the same network. However, this is not the case as the IP address changed. This causes a deadlock in both empathy and evolution.
Note, closing all processes called evolution or evolution-* and restarting them don't solve the problem. evolution is still stuck on restart.
Thanks for a bug report. I believe this is fixed by a change in bug #702709, thus please retest when 3.10.4 is out (some time next week, then a delay till your distribution picks the release and updates packages for you). Please, provide a feedback with the result on 3.10.4, as this might be eventually marked as a duplicate of the above bug report. Thanks in advance.
You are right, I no longer have this issue with evolution 3.10.4. Some other parts of the system might have changed as well. I noticed that NorworkManager puts the network offline for a brief moment when awakening from sleep. Closing the bug. *** This bug has been marked as a duplicate of bug 702709 ***