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:
- Is it an endian problem?
- 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@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