Description of problem: dovecot is accessed with squirrelmail with the imap protocol, on an up-to-date fedora core 4. When performing (delete) "move to trash" operation with squirrelmail, the following error message appears in the mailog, and the move operation is aborted : Nov 22 14:56:10 tux imap(bellet): Corrupted binary tree file /misc/raid/bellet/mail/.imap/Trash/.imap.index.tree: UID to be inserted isn't higher than existing (273 <= 274) Refreshing the view of the inbox allows to continue with the imap session. This error is not 100% reproductible, but occurs more frequently, when : . large amount of messages are deleted in the webmail . new messages are delivered to the inbox in parallel. The particularity of the homedir is that it is mounted over NFS, via the automounter, with the following options : disk.creatis.insa-lyon.fr:/mnt/raid /misc/raid nfs rw,mand,v3,rsize=32768,wsize=32768,soft,intr,tcp,lock,addr=disk.creatis.insa-lyon.fr 0 0 A simple way to reproduce this problem is to setup an NFS mounted home directory, deliver mail to this user on a periodic interval, and delete these messages in parallel with squirrelmail. dovecot.conf contains these options : protocols = imap imaps pop3 pop3s imap_listen = [::] pop3_listen = [::] imaps_listen = [::] pop3s_listen = [::] ssl_cert_file = /etc/pki/dovecot/dovecot.pem ssl_key_file = /etc/pki/dovecot/private/dovecot.pem login_dir = /var/run/dovecot-login login = imap login = pop3 first_valid_uid = 100 mbox_locks = fcntl auth = default auth_mechanisms = plain auth_userdb = passwd auth_passdb = pam auth_user = root
0.99.x Dovecot doesn't support having index files in NFS mounted directories, don't do it. 1.0-alpha versions support it with setting mmap_disable=yes, but it still has some problems. Append eg. :INDEX=/var/indexes/%u to default_mail_env to move indexes elsewhere.
Thanks for the hint ! I didn't read the documentation carefully and missed this point. I appended ":INDEX=MEMORY" instead, because the machine has many accounts, and I'm a lazy sysadmin :-) I think I can live with the cpu overhead. Now it works.