GNOME Bugzilla – Bug 721915
New messages are not detected as they arrive on IMAPX account
Last modified: 2015-03-06 20:11:08 UTC
Since I've upgraded to Evo 3.10.3, the mails I receive on one of my IMAPX accounts are no longer detected. I need to switch to another folder, and back to the inbox, for Evo to notice there are new messages. There's the same problem when returning from suspend/offline mode. Even clicking on Send/Receive does not work (or not all the time). With another IMAPX account I have, everything is working fine. I think I can provide you with a test account on that IMAP server if you want to debug this.
Depends on several factors, like whether your IMAP server supports IDLE and how quickly it times out idle client connections. Evolution 3.12 will indicate your connection status in the folder tree, so you can more easily see when you lose a socket connection.
Yeah, but it used to work for all releases of Evo over the last 5 years, up to 3.10. Also, I have set "check for new messages every 1 minute", so it should definitely do something (or in the worst case show an error message).
Is there anything I can do to help fixing this (testing...)? Or would you be interested in an account on that server to check by yourself?
A test account may be useful, but first run Evolution from a terminal window and check for any warning messages that may give clues.
Not sure. On startup I get this: (evolution:16919): camel-WARNING **: Unable to load store summary: Expected version (1), got (0) (evolution:16919): camel-WARNING **: Cannot load summary file: Success (process:16986): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed But actually I've discovered that fetching mails can work fine for a few hours, and even across a suspend/resume. The bug only reappeared after the second suspend/resume cycle (affecting both accounts which are mentioned in the log below): (evolution:17099): camel-WARNING **: network_service_can_reach_cb: Error resolving "imap.sfr.fr" : Temporary name resolving failure [approx translation] (evolution:17099): camel-WARNING **: network_service_can_reach_cb: Error resolving "imap.sciences-po.fr" : Temporary name resolving failure [approx translation] (evolution:17099): camel-WARNING **: network_service_can_reach_cb: Error resolving "imap.gmail.com" : Temporary name resolving failure [approx translation] [repeat many times - these were also printed after the first suspend/resume, when it still worked] (evolution:17099): camel-WARNING **: network_service_can_reach_cb: Error resolving "smtp.gmail.com" : Temporary name resolving failure [approx translation] evolution-shell-Message: Connection established. Going online. (evolution:17099): evolution-mail-WARNING **: (mail-send-recv.c:1145):receive_update_got_folderinfo: runtime check failed: (info != NULL) (evolution:17099): evolution-mail-WARNING **: receive_update_got_folderinfo: Cannot connect to "imap.sfr.fr:143": Could not resolve "imap.gmail.com". Check that you have correctly typed the hostname [approx translation] (evolution:17099): evolution-mail-WARNING **: (mail-send-recv.c:1145):receive_update_got_folderinfo: runtime check failed: (info != NULL) (evolution:17099): evolution-mail-WARNING **: receive_update_got_folderinfo: Cannot connect to "imap.gmail.com:993": Could not resolve "imap.gmail.com". Check that you have correctly typed the hostname [approx translation]
Are the messages above of any use? Do you need something else?
Looks like you're having name resolution problems after resuming.
Yeah, but everything works fine if I restart Evolution. So it looks like the socket gets corrupt or something. Indeed, it seems to happen only when I'm on WiFi, not with the Ethernet connection. So it may be a problem with the driver. But don't you connect to NetworkManager to be warned when the connection is reinitiated? Evo does not seem to be able to recover automatically from this everywhere: the automatic mail fetching fails, while other operations still work.
I've also noticed that when this happens, everytime I click on a message to read it, in the task bar I can see that a ping on my IMAPX server is done. Definitely looks like the connection handler isn't stored correctly once it has failed.
I would try with 3.10.4 (released only today), maybe you see a side-effect of bug #702709.
Indeed, it fixes the problem! Thanks for the pointers. *** This bug has been marked as a duplicate of bug 702709 ***
I spoke too soon. It worked for a few suspend/resume cycle, and then broke again. There must be something fishy going on (maybe the WiFi driver?).
I'm sorry for the often "try the latest version", but Matthew managed to write a code for better detection when the server is reachable or not, which depends on a GNetworkMonitor. This is available in 3.12.x only. I also made many changes in IMAPx code, some are surely good, which are part of the current 3.12.2. I hope it makes it work for you.
Requiring the new version is not a problem; what worries me is that very often the new version introduces one fix and another equally annoying bug, which means Evo offers a poor usability in all releases for me. :-/ I'll try 3.12.2.
We've got much further meanwhile, many maybe related fixes landed to the stable branch, which made the current 3.12.11 stable version. Not that much different from 3.12.9 (the difference are mostly crash fixes). Please try with it or any newer version and report back. Thanks in advance.
Ah, sorry, forgot to report back. This started working again (likely when Fedora 21 was released). I'm now using 3.12.11 and I must say this is one of the most stable Evo releases in a few years. Keep it that way! :-)