[Dovecot] Index cache file problems in Dovecot 1.2.0

Chris Wakelin c.d.wakelin at reading.ac.uk
Tue Aug 11 20:56:59 EEST 2009


Chris Wakelin wrote:
> I'm still getting errors like
> 
> Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error:
> fcntl(write-lock) locking failed for file
> <path>/.imap/INBOX/dovecot.index.log: Deadlock situation detected/avoided
> Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error:
> mail_index_wait_lock_fd() failed with file
> <path>/.imap/INBOX/dovecot.index.log: Deadlock situation detected/avoided
> Aug 04 18:01:32 IMAP 23840 <username> 127.0.0.1 : Error: stat() failed
> with index cache file <path>/.imap/INBOX/dovecot.index.cache: No such
> file or directory
> 
> on Solaris 8 (64-bit Sparc, but 32-bit binary) and
> 
> Aug 05 16:42:46 IMAP 29142 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 05 16:42:46 IMAP 29143 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: fcntl() failed
> with mbox file <path>/INBOX: Deadlock situation detected/avoided
> Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: fcntl() failed
> with mbox file <path>/INBOX: Deadlock situation detected/avoided
> Aug 05 16:43:17 IMAP 29149 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 05 16:43:17 IMAP 29147 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large
> Aug 05 16:43:18 IMAP 29150 <username> 127.0.0.1 : Error: Corrupted index
> cache file <path>/.imap/INBOX/dovecot.index.cache: record points outside
> file
> 
> on Solaris 10 (64-bit Sparc, but 32-bit binary) but no errors on Ubuntu
> 8.04.3 x86_64. When not using concurrent logons, I think it was fine
> even in 1.2.0 (which made we wonder about a possible race condition?).

OK, I've tried various combinations of Solaris 8 and 10, both 32 and 64
bit binaries, both local mailboxes and over NFS (to the same NetApp
filer volume, with indexes always local), and even compiled up GCC 4.x
(4.3.4) on Solaris 10 to see why I get errors on Solaris/Sparc but not
Linux/Intel 64-bit.

Wild speculations:
1) Is it an endian problem?
2) Is it a speed problem (race condition?); the Solaris machines are
generally slower.

I'm not sure whether "record points outside file" has occured in 64-bit,
but "used_file_size too large" occurs in all Solaris tests.

I've yet to try with a real client, but I had problems with searches
taking a very long time in Thunderbird and version 1.2.0 (presumably
while it rebuilt a "corrupt index") and once a very bad corruption of
the headers cached by Thunderbird (I had to delete the Dovecot indexes
and rebuild Thunderbird's index).

Best Wishes,
Chris

-- 
--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-
Christopher Wakelin,                           c.d.wakelin at reading.ac.uk
IT Services Centre, The University of Reading,  Tel: +44 (0)118 378 8439
Whiteknights, Reading, RG6 2AF, UK              Fax: +44 (0)118 975 3094


More information about the dovecot mailing list