Hi!
I’m struggling with the following error:
Aug 4 21:32:00 mx02 dovecot: imap(xxx@xxx.tld)<17693><w14vpU+PCCSwPxpo>: Error: Mailbox INBOX: Broken file /home/vmail/xxx.tld/xxx/dovecot-uidlist line 6246: Invalid data:
Aug 4 21:49:22 mx02 dovecot: imap(xxx@xxx.tld)<21879><YNhW40+PLoBOGLlU>: Error: Mailbox INBOX: Broken file /home/vmail/xxx.tld/xxx/dovecot-uidlist line 6249: Invalid data:
It seems the first part is not incremented properly and sometimes it has a jump in it, like the line 6246:
18810 :1564935891.M816284P8904.mx01.m.ininet.hu,S=12145,W=12409
18812 :1564947092.M542714P2651.mx01.m.ininet.hu,S=12275,W=12517
Even though I deleted all the dovecot* files the error comes back. I have the maildirs through NFS, but I set to store the INDEX files locally.
I have failover configuration, that means when one of my servers die another one takes the active IP and start to serve dovecot users, so its always one server that serves all the users, no load balacing.
Any idea what am I missing or how could I fixed this problem?
uname -a
Linux mx02.m.mydomain.tld 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux
dovecot -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-5-amd64 x86_64 Debian 10.0 nfs
# Hostname: mx02.m.mydomain.tld
auth_mechanisms = plain login
auth_verbose = yes
default_client_limit = 10000
default_process_limit = 1000
dict {
quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
mail_fsync = always
mail_location = maildir:/home/vmail/%d/%n:INDEX=/var/indexes/%d/%n
mail_plugins = " quota"
mail_privileged_group = mail
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix = INBOX.
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
quota = dict:User quota::proxy::quota
sieve = /home/vmail/default.sieve
sieve_default = /home/vmail/default.sieve
sieve_extensions = +editheader
sieve_global_dir = /var/lib/dovecot/sieve
}
protocols = " imap pop3"
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = $default_internal_user
}
service dict {
unix_listener dict {
group = vmail
mode = 0600
user = vmail
}
}
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
}
service imap {
process_limit = 1024
}
service pop3 {
process_limit = 1024
}
service stats {
unix_listener stats-reader {
group = vmail
mode = 0660
user = vmail
}
unix_listener stats-writer {
group = vmail
mode = 0660
user = vmail
}
}
ssl_cert = </etc/postfix/ssl/mail.mydomain.tld-dovecot.crt
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
mail_plugins = " quota sieve"
}
protocol imap {
mail_max_userip_connections = 20
mail_plugins = " quota quota imap_quota"
}
protocol pop3 {
mail_max_userip_connections = 20
mail_plugins = " quota quota"
}
Thanks,
Balazs