Hello all, I have a problem with an incosistent mdbox:
Oct 24 10:43:23 two dovecot: imap-login: Login: user=<...>, method=PLAIN, rip=..., lip=..., mpid=4977, TLS Oct 24 10:43:23 two dovecot: imap(lis...@mjh.name): Error: mdbox map .../mdbox/storage/dovecot.map.index corrupted: Unexpectedly lost INBOX uid=638 map_uid=809891 Oct 24 10:43:23 two dovecot: imap(lis...@mjh.name): Error: mdbox map .../mdbox/storage/dovecot.map.index corrupted: Unexpectedly lost INBOX uid=638 map_uid=809891 Oct 24 10:43:23 two dovecot: imap(lis...@mjh.name): Disconnected: Internal error occurred. Refer to server log for more information. [2012-10-24 10:43:23] bytes=115/53726 Oct 24 10:43:23 two dovecot: imap(lis...@mjh.name): Warning: mdbox .../mdbox/storage: Inconsistency in map index (467,31960 != 467,36768) Oct 24 10:43:23 two dovecot: imap(lis...@mjh.name): Warning: mdbox .../mdbox/storage: rebuilding indexes Oct 24 10:45:19 two dovecot: imap(lis...@mjh.name): Panic: file mdbox-storage-rebuild.c: line 773 (rebuild_update_refcounts): assertion failed: (map_uid < msgs[i]->map_uid) Oct 24 10:45:19 two dovecot: imap(lis...@mjh.name): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x380ca) [0x7f99cf35b0ca] -> /usr/lib/dovecot/libdovecot.so.0(+0x3810e) [0x7f99cf35b10e] -> /usr/li b/dovecot/libdovecot.so.0(i_fatal+0) [0x7f99cf334a67] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_rebuild_in_context+0x10a5) [0x7f99cf5f42d5] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_s torage_rebuild+0x24) [0x7f99cf5f4414] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x53565) [0x7f99cf5f4565] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_close+0x1a) [0x7f99cf5c8caa] -> /usr/lib/dovec ot/libdovecot-storage.so.0(mailbox_free+0x13) [0x7f99cf5c8cf3] -> dovecot/imap(client_destroy+0x109) [0x7f99cfaa69e9] -> dovecot/imap(client_input+0xaa) [0x7f99cfaa6dba] -> /usr/lib/dovecot/libdovecot.so.0(i o_loop_call_io+0x48) [0x7f99cf366c98] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xa7) [0x7f99cf367d27] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f99cf366c28] -> /usr/lib/dovecot /libdovecot.so.0(master_service_run+0x13) [0x7f99cf354e33] -> dovecot/imap(main+0x304) [0x7f99cfa9e554] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f99cef8576d] -> dovecot/imap(+0x95e5) [0 x7f99cfa9e5e5] Oct 24 10:45:19 two dovecot: master: Error: service(imap): child 4977 killed with signal 6 (core dumps disabled) I use: Dovecot 2.0.19-0ubuntu1 Ubuntu 12.04, x86-64, Kernel 3.2.0-32-generic local XFS filesystem for the mdbox The problem appeared out of nowhere. Many messages been continously delivered to this mailbox on this installation since May 2012, and the mdbox was only accessed with deliver and imap/pop3 from dovecot. About four hours after the problem initially appeared, I did a hard reset of the system because it was unresponsive. The error message is exactly the same before and after the hard reset. The problem is triggered by both IMAP access and dovecot deliver access. The whole mdbox is 6.6 GiB large and I guess that it contains about 300k-600k messages. It's an archive of public mailing lists, so I could give access to the files. Can anybody say something about this? May the mdbox be repaired? Regards, Milan Holzäpfel -- Milan Holzäpfel <lis...@mjh.name>
# 2.0.19: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-32-generic x86_64 Ubuntu 12.04.1 LTS auth_mechanisms = plain login dict { quota = mysql:/etc/dovecot/dict-quota-sql.conf } listen = *, [::] mail_access_groups = dovecot-dict mail_plugins = quota mdbox_preallocate_space = yes mdbox_rotate_size = 20 M namespace { inbox = yes location = prefix = separator = . type = private } passdb { args = /etc/dovecot/sql-passdb.conf driver = sql } plugin { antispam_backend = dspam antispam_debug_target = syslog antispam_spam = Spam;INBOX/Spam antispam_trash = Trash;INBOX/Trash antispam_verbose_debug = 1 quota = dict:User Quota::proxy::quota sieve = ~/dovecot-sieve } protocols = " imap pop3" service auth { unix_listener /var/spool/postfix/private/dovecot-auth { group = postfix mode = 0660 user = postfix } unix_listener auth-client { group = root mode = 0660 user = root } unix_listener auth-master { group = root mode = 0600 user = root } } service dict { unix_listener dict { group = dovecot-dict mode = 0660 } } ssl_cert = </etc/dovecot/ssl-imap.pem ssl_key = </etc/dovecot/ssl-imap.pem userdb { args = /etc/dovecot/sql-userdb-iterate.conf driver = sql } protocol imap { mail_plugins = quota imap_quota antispam ssl_cert = </etc/dovecot/ssl-imap.pem ssl_key = </etc/dovecot/ssl-imap.pem userdb { driver = prefetch } userdb { args = /etc/dovecot/sql-userdb-username.conf driver = sql } } protocol pop3 { mail_plugins = quota ssl_cert = </etc/dovecot/ssl-pop3.pem ssl_key = </etc/dovecot/ssl-pop3.pem userdb { driver = prefetch } userdb { args = /etc/dovecot/sql-userdb-username.conf driver = sql } } protocol lda { mail_plugins = quota sieve postmaster_address = m...@mjh.name userdb { args = /etc/dovecot/sql-userdb-mailaddress.conf driver = sql } } protocol doveadm { userdb { args = /etc/dovecot/sql-userdb-username.conf driver = sql } } protocol smtp { passdb { args = /etc/dovecot/sql-passdb-smtp.conf driver = sql } passdb { deny = yes driver = static } }