On Fri, Aug 11, 2006 at 01:16:09AM +0300, Timo Sirainen wrote:
On Wed, 2006-08-09 at 16:24 +1000, Jeff Turner wrote:
Hi,
Just today, Thunderbird started throwing errors when accessing a particular mail folder. Looking in the logs showed this:
dovecot: Aug 09 15:36:31 Error: IMAP(nmenere): Corrupted index file /imap/mailboxes/nmenere/shared-settings/jira-support/index/.INBOX.Triaged/dovecot.index: messages_count too large (51 > 39)
I am happy to report that this appears to have been user error. Every time I upgraded dovecot, I have used either --program-suffix or --prefix to make the binaries unique. However I had forgotten that there are paths to binaries hardcoded in dovecot.conf:
protocol imap { ... mail_executable = /usr/local/libexec/dovecot/imap
so despite upgrades, I was using an 'imap' binary from 5 Nov 2005.
After fixing this, deleting the dovecot* index files, I am able to access all the previously 'corrupt' Maildir folders that gave the error above.
Thanks for pointing me on the right track on the ACL thread. Hopefully the binary version checking in RC7 will save people from this mistake in future.
--Jeff
So how many files are there really?
In fact, the problem seems to be with the files in cur/. There are 51 in total, and 39 of them have an 'i' flag:
1155084961.P27685Q5.redback.sydney.atlassian.com:2,Sbrk 1155084979.P27685Q6.redback.sydney.atlassian.com:2,Sbtk 1155085103.P27685Q10.redback.sydney.atlassian.com:2,Sbwk 1155085175.P28321Q1.redback.sydney.atlassian.com:2,Sbcki 1155085221.P27685Q12.redback.sydney.atlassian.com:2,Sbwk 1155085228.P28321Q4.redback.sydney.atlassian.com:2,Sbki 1155085231.P28321Q5.redback.sydney.atlassian.com:2,Sbki 1155085246.P28321Q6.redback.sydney.atlassian.com:2,Sbki
All the lowercase a-z flags are Dovecot's keywords, which are listed in dovecot-keywords file (1=a, 2=b, etc.). If the file doesn't exist or the flag isn't listed in there, it's given a unknown-<number> name.
Anyway, I tried to reproduce this problem but couldn't. Could you give me a list of all the files in the maildir that is broken? Does it break even if there are no dovecot* files at all? What if you do:
rm ~/Maildir/.folder/dovecot* MAIL=~/Maidir /usr/local/libexec/dovecot/imap x select folder
Does it print the same error message after select command?