Dnia czwartek, 20 grudnia 2007, Timo Sirainen napisał:
On Thu, 2007-12-20 at 19:28 +0200, Timo Sirainen wrote:
On Thu, 2007-12-20 at 11:20 -0600, Andrew Garner wrote:
On Dec 20, 2007 11:10 AM, Timo Sirainen <tss@iki.fi> wrote:
On Mon, 2007-12-17 at 12:52 -0600, Andrew Garner wrote:
I've been getting the following error fairly often, which tends to result in a corrupted dovecot-uidlist.
dovecot: IMAP(example@example.com): file maildir-uidlist.c: line 1009 (maildir_uidlist_recreate): assertion failed: (file_size == (uoff_t)st.st_size)
What filesystem do you use?
This is an NFS filesystem on an EMC Clariion CX700 backend. The local client OS is Linux 2.6.18-5-686 (from debian/etch).
And there are multiple Dovecot servers? Did you set mail_nfs_storage=yes?
Oh, you already said that. Also it shouldn't have made a difference there. I'm not really sure why it would break like that, but since you mention you're running 2.6.18 and http://wiki.dovecot.org/NFS says:
"Linux 2.6.18: Seems to have intermittent caching issues. The same .config with 2.6.20.1 has been tested and appears to work well."
Maybe the problem is with the kernel. I could of course change the assert to be a nicer error message, but that wouldn't really solve anything.
I seem to have a similar assertion failure. The maildirs are held on reiserfs on external RAID. I have set the indexes on internal RAID yesterday, which seems to have triggered the problem. The assertion failure occurs under increased load - during loadtests.
dovecot: Dec 21 16:43:41 Error: IMAP(test0): file maildir-uidlist.c: line 143 (maildir_uidlist_lock_touch): assertion failed: (UIDLIST_IS_LOCKED(uidlist)) dovecot: Dec 21 16:43:41 Error: IMAP(test0): Raw backtrace: /usr/lib64/dovecot/imap [0x45fc4c] -> /usr/lib64/dovecot/imap [0x45f41c] -> /usr/lib64/dovecot/im ap [0x4224b9] -> /usr/lib64/dovecot/imap [0x42073e] -> /usr/lib64/dovecot/imap [0x420f5f] -> /usr/lib64/dovecot/imap [0x421d14] -> /usr/lib64/dovecot/imap(ma ildir_storage_sync_force+0x43) [0x421f33] -> /usr/lib64/dovecot/imap(maildir_storage_sync_init+0xc1) [0x4220c1] -> /usr/lib64/dovecot/imap(mailbox_sync_init+ 0x7) [0x452877] -> /usr/lib64/dovecot/imap(imap_sync_init+0x45) [0x41b705] -> /usr/lib64/dovecot/imap(cmd_sync+0x80) [0x41bbf0] -> /usr/lib64/dovecot/imap [0 x412580] -> /usr/lib64/dovecot/imap(cmd_fetch+0x128) [0x412708] -> /usr/lib64/dovecot/imap [0x415e42] -> /usr/lib64/dovecot/imap [0x415dd0] -> /usr/lib64/dov ecot/imap(_client_input+0x70) [0x415f20] -> /usr/lib64/dovecot/imap(io_loop_handler_run+0x10e) [0x46528e] -> /usr/lib64/dovecot/imap(io_loop_run+0x1c) [0x464 8fc] -> /usr/lib64/dovecot/imap(main+0x6b) [0x41d82b] -> /lib64/tls/libc.so.6 (__libc_start_main+0xd5) [0x2ae740dea815] -> /us dovecot: Dec 21 16:43:41 Error: IMAP(test0): r/lib64/dovecot/imap [0x410e6a] dovecot: Dec 21 16:43:41 Error: child 21744 (imap) killed with signal 6
# 1.0.9: /etc/dovecot/dovecot.conf base_dir: /var/run/dovecot/ log_path: /var/log/dovecot.log ssl_ca_file: /etc/certs/certum-chain.crt ssl_cert_file: /etc/certs/wild.dfqs.pl.crt ssl_key_file: /etc/certs/wild.dfqs.pl.key ssl_cipher_list: ALL:!LOW:!MEDIUM login_dir: /var/run/dovecot/login login_executable: /usr/lib64/dovecot/imap-login login_greeting: imap.dfqs.pl ready. login_process_per_connection: no login_processes_count: 5 login_max_processes_count: 32 max_mail_processes: 4096 verbose_proctitle: yes mail_location: maildir:~/mail:INDEX=/var/lib/dovecot/indexes/%n maildir_copy_with_hardlinks: yes maildir_copy_preserve_filename: yes mail_executable: /usr/local/lib64/dovecot-post-login.sh mail_plugins: imap_quota quota acl mail_plugin_dir: /usr/lib64/dovecot/plugins/imap mail_log_max_lines_per_sec: 0 imap_client_workarounds: outlook-idle tb-extra-mailbox-sep namespace: type: private separator: / inbox: yes namespace: type: public separator: / prefix: Public/ location: maildir:/var/vmail/Public:CONTROL=~/Public/control:INDEX=~/Public/index namespace: type: shared separator: / prefix: Shared/ location: maildir:/var/vmail/Shared:CONTROL=~/Shared/control:INDEX=~/Shared/index auth default: cache_size: 4096 cache_ttl: 600 verbose: yes worker_max_count: 512 passdb: driver: pam args: cache_key=%n dovecot userdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 user: root group: vmail master: path: /var/run/dovecot/auth-master mode: 432 user: root group: vmail plugin: quota: maildir:storage=8388608 acl: vfile:
[root@harem ~]# uname -a Linux harem 2.6.21.5-0.1 #1 SMP Wed Jun 27 09:06:26 UTC 2007 x86_64 Intel(R)_Xeon(R)_CPU___________E5310__@_1.60GHz PLD Linux