Hello,
Since I've updated our production rig to the latest build, I've noticed my eMClient was getting intermittant IMAP errors, so I've checked the IMAP logs and found out there are now plenty of these for many different IPs:
[2020.08.22] 21:44:12.539 [92.x.123.227][65888999] connected at 22.08.2020 21:44:12
[2020.08.22] 21:44:14.056 [92.x.123.227][65888999] Exception: (PooledTcpItem.cs) Sequence contains no elements
[2020.08.22] 21:44:14.067 [92.x.123.227][65888999] StackTrace: at System.Linq.Enumerable.Max(IEnumerable`1 source)
[2020.08.22] 21:44:24.165 [92.x.123.227][65888999] disconnected at 22.08.2020 21:44:24
I've checked the logs before the update and these aren't present, so this seems new, and maybe related to the intermittent failures I have in emClient (and maybe other customers too then?)
In the changelog I see there were changes around IMAP:
Fixed: IMAP users get "Failed to update headers" error when syncing to Outlook 2010.
Could it be related?
EDIT: Here we are, some customers opened tickets this morning, claiming mails before a certain date have disappeared. They use IMAP so that might be linked to the issue. The mails are present in the webmail.
I've downgraded to previous build and the intermittent errors are now gone on my eMClient. Let's see if our customers find their mail again in their client.
EDIT2:
Bonus info, Log from eMClient when the problem happens:
23.08.2020 10:06:41 account@mymail.ch IMAP Synchronizing folder '/Archive'
23.08.2020 10:07:42 MailClient.Accounts.ConnectionException: Server did not respond in 00:01:00
23.08.2020 10:07:42 ---> System.TimeoutException: Server did not respond in 00:01:00
23.08.2020 10:07:42 at MailClient.Imap.Base.Extensions.CopyToAsyncWithTimer(Stream source, PipeWriter writer, TimeoutTimer timer, ITaskSource readDemandSource, CancellationToken cancellationToken)
23.08.2020 10:07:42 at MailClient.Imap.Base.TransportPipe.StartReading(Stream stream, CancellationToken token)
23.08.2020 10:07:42 at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.GetReadAsyncResult()
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
23.08.2020 10:07:42 at MailClient.Imap.Base.Extensions.<>c__DisplayClass30_0.<<ReadLineAsync>g__SlowAsyncPath|1>d.MoveNext()
23.08.2020 10:07:42 --- End of stack trace from previous location where exception was thrown ---
23.08.2020 10:07:42 at MailClient.Imap.Base.Connection.ReceiveAsync()
23.08.2020 10:07:42 --- End of inner exception stack trace ---
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapActionCommand.ExecuteInternalSync(WorkerStatus status)
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapActionCommand.Execute(WorkerStatus status)
23.08.2020 10:07:42 at MailClient.Commands.Command.Process(WorkerStatus status)
23.08.2020 10:07:42 --- End of stack trace from previous location where exception was thrown ---
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapAccount.SynchronizeIntAsync(Boolean forced)
23.08.2020 10:07:42 at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass6_0.<<SynchronizeAsync>b__0>d.MoveNext()
23.08.2020 10:07:42 MailClient.Accounts.ConnectionException: Server did not respond in 00:01:00
23.08.2020 10:07:42 ---> System.TimeoutException: Server did not respond in 00:01:00
23.08.2020 10:07:42 at MailClient.Imap.Base.Extensions.CopyToAsyncWithTimer(Stream source, PipeWriter writer, TimeoutTimer timer, ITaskSource readDemandSource, CancellationToken cancellationToken)
23.08.2020 10:07:42 at MailClient.Imap.Base.TransportPipe.StartReading(Stream stream, CancellationToken token)
23.08.2020 10:07:42 at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.GetReadAsyncResult()
23.08.2020 10:07:42 at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
23.08.2020 10:07:42 at MailClient.Imap.Base.Extensions.<>c__DisplayClass30_0.<<ReadLineAsync>g__SlowAsyncPath|1>d.MoveNext()
23.08.2020 10:07:42 --- End of stack trace from previous location where exception was thrown ---
23.08.2020 10:07:42 at MailClient.Imap.Base.Connection.ReceiveAsync()
23.08.2020 10:07:42 --- End of inner exception stack trace ---
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapActionCommand.ExecuteInternalSync(WorkerStatus status)
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapActionCommand.Execute(WorkerStatus status)
23.08.2020 10:07:42 at MailClient.Commands.Command.Process(WorkerStatus status)
23.08.2020 10:07:42 --- End of stack trace from previous location where exception was thrown ---
23.08.2020 10:07:42 at MailClient.Protocols.Imap.ImapAccount.SynchronizeIntAsync(Boolean forced)
23.08.2020 10:07:42 at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass6_0.<<SynchronizeAsync>b__0>d.MoveNext()
It seems that with latest build imap throws an exception and doesn't reply back to the client, so the client timeouts waiting 1 minute for an answer.
EDIT3: Customers confirmed that the downgrade fixed the problem and that their e-mails re-appeared in their IMAP clients.