viewmail-info
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [VM] messages with invalid UIDs


From: Uday Reddy
Subject: Re: [VM] messages with invalid UIDs
Date: Wed, 28 Dec 2011 14:42:15 +0000
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0

On 12/28/2011 1:51 PM, Robert Marshall wrote:

It would be nice to be able to see which messages it is about to
expunge, I suspect the cached data is getting corrupted (or is it a
server issue) somewhere rather than the message being dodgy. Looking at
the code I see that it is adding a 'stale' label to those messages but I
can't see where to set up a virtual folder to view them

`V l stale' shows them.

This is one of the dark corners of IMAP handling. If everything is working correctly, the *only* time this warning should arise is when the IMAP server changes the UIDVALIDITY value. In that case, all the messages in the cache folder become "stale" and VM will get fresh copies of everything. In that case, you should answer "yes" to the question about expunge.

If the message arises in any other situation, you should know that something has gone wrong and you should be very careful with what you do next. Two possibilities are:

- VM has successfully recovered from whatever went wrong, and obtained fresh copies of the messages. In that case, it is fine to delete the "stale" copies and keep the good copies.

- VM didn't recover from the problems correctly and the "stale" copies are all that you have. In that case, your safest course of action is to get rid of your imap-cache folder and let VM rebuild a new cache folder.

Be warned! The IMAP code is not as fault-tolerant as it should be. Whenever you get vm-imap-protocol error with some other deeper error buried inside it, you should be wary. It is incredibly hard to write fault-tolerant code and I can't promise that I got it right. Getting rid of the imap-cache folder is the safest course of action.

Cheers,
Uday



reply via email to

[Prev in Thread] Current Thread [Next in Thread]