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
  }
}

Reply via email to