Uday Reddy
2011-12-28 14:42:15 UTC
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.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
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