After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 601727 - Evolution pings unpingable IMAP server
Evolution pings unpingable IMAP server
Status: RESOLVED NOTABUG
Product: evolution-data-server
Classification: Platform
Component: Mailer
2.28.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2009-11-12 18:17 UTC by Myk Taylor
Modified: 2013-08-19 14:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Myk Taylor 2009-11-12 18:17:19 UTC
My corporate IMAP server does not respond to pings.  Evolution will often attempt to ping the server and get stuck.  Mail cannot be sent or retrieved while the ping is timing out.  I must ask: what purpose does the ping serve that cannot adequately be fulfilled by an attempt to connect directly to the IMAP port?  Could we remove the ping, or at least make an option to turn it off?
Comment 1 Matthew Barnes 2009-11-12 20:13:55 UTC
The ping is supposed to keep the socket connection alive.  Some servers terminate the connection after a certain period of idleness.
Comment 2 Myk Taylor 2009-11-12 22:49:07 UTC
Interesting, so you're saying that it's not an ICMP ping (on a separate socket), but rather an in-band ping?  tcpdump shows the following when the GUI is stuck on "Pinging IMAP server" (hostnames changed to protect the innocent):

14:41:43.047631 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:41:45.053117 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:41:49.066452 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:41:57.093118 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:42:13.146450 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:42:45.253116 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:43:49.466443 IP localhost.34475 > imapserver.com.imaps: P 517:559(42) ack 2103 win 261 <nop,nop,timestamp[|tcp]>
14:44:22.653442 IP imapserver.com.imaps > localhost.34475: R 3090831657:3090831657(0) win 1023

The IMAP server is ignoring the pings and is eventually sending a reset.  So perhaps the problem is that the connection has already been closed?  Perhaps pings aren't being sent soon enough...  Is the keep-alive threshold configurable?
Comment 3 Joachim Breitner 2012-06-11 21:10:40 UTC
Might this be related to #557078?
Comment 4 John Pye 2013-01-27 00:31:58 UTC
If there are some servers that fail to respond to this kind of PING then there should be a user setting that allows us to disable the ping. As it stands, Evolution frequently sits there waiting for the ping. It would be vastly faster if it timed out in a couple of seconds (however long it normally takes to reestablish the connection should be the measure of how long a suitable timeout would be, wouldn't it?), rather than sitting there waiting for it. Or indeed, if there's a reason for preferring a longer timeout then we should have a way to turn it off.

Note a Launchpad 'question' about this (I think) bug.
https://answers.launchpad.net/ubuntu/+source/evolution/+question/6709
Comment 5 John Pye 2013-01-27 00:45:25 UTC
I can clarify that this ping is hanging when the log output (CAMEL_DEBUG=all) reports:

sending : A00181 NOOP
Comment 6 Matthew Barnes 2013-08-19 14:01:07 UTC
Evolution is not pinging the server via an ICMP packet, it's sending an IMAP NOOP command to keep the socket connection open.  The NOOP command is part of the base IMAP specification, and therefore must be supported on all IMAP servers.

Closing this as NOTABUG since it seems to be founded on a misunderstanding.