Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

EXISTS and EXPUNGE don't match for INBOX

#1736

Hi!

My system: MailMate/5347 iMac13,2/x86_64/8/10.11.6 + Spamsieve

  • IMAP server is Zimbra 8.6
  • Other MUAs in use with this account are K-9 on Android and Thunderbird on Ubuntu.

When I sync the account in MailMate, I’m getting the dreaded:

Error: An EXISTS response decreased the number of messages. This should never happen.

The problematic mailbox is the INBOX.

Steps I have taken to try to fix the problem:

  • Reindex with 'zmprov rim user@mailbox start'
  • Removed the account in MailMate with 'Remove Source' and re-adding the account

I am a bit stumped about how to proceed from here.

Reported by Hans Kuhn · April 18th, 2017 @ 10:02 PM

State: new
Milestone: none
Assigned to: benny benny

Activity

  1. benny
    benny

    The server behavior is a bit weird (and maybe buggy since it's strange that the problem is reproducible), but my first analysis is that the error message itself is actually a MailMate bug. I'll get back to you tomorrow when I've had time to look into the details.

    April 19th, 2017 @ 09:06 PM

  2. benny
    benny

    Hold down ⌥ when clicking “Check Now” in the Software Update preferences pane. That should give you r5369. Let me know whether or not that makes a difference. Thanks in advance.

    April 20th, 2017 @ 11:04 AM

  3. Hans Kuhn
    Hans Kuhn

    That fixed it! Thanks for the excellent service. More than glad to have paid for my license.

    If you don't mind, what was the pathology?

    April 20th, 2017 @ 06:47 PM

  4. benny
    benny
    • State changed from new to fixcommitted

    Great.

    Explanation: After connecting to an IMAP server then an email client can issue a command to SELECT a mailbox. When reusing a connection this means that an IMAP mailbox might already be selected. This is not usually a problem, but some times the server might have tried to tell the client about new or deleted messages at the same time as the client asks it to select a new mailbox. If not careful then the email client might interpret these new/deleted messages to be related to the newly selected mailbox. MailMate was careful about this, but it was too careful meaning that it would ignore deleted messages reported during the initial synchronization of a mailbox (the email client has to build a mapping between so-called UIDs and mailbox message numbers). And even worse, it would report this as a server issue.

    Usually, this would happen very rarely and then it would only happen once. It wouldn't happen again on “Retry”. For some reason, the Zimbra server persistently reports a single deleted message in your INBOX very shortly after telling MailMate about the existence of the same message. This is not strictly wrong, but it is very weird and it doesn't really make me want to trust Zimbra :) Interestingly, the message involved has a so-called internal date which indicates it is dated in 1970. This also does not make a lot of sense.

    But I'm happy it helped me fix a bug.

    April 21st, 2017 @ 09:44 AM

  5. benny
    benny
    • State changed from fixcommitted to fixreleased

    September 22nd, 2017 @ 12:54 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.