BUG: Error: dovecot.index.pvt reset, view is now inconsistent when shared folder is new and empty

Marco Giunta giunta at sissa.it
Wed Feb 28 12:24:54 EET 2018


Hi,
I'm using Dovecot 2.2.33.2 on a RHEL 7, new installation. My log is full 
of :

Error: INDEX_FOLDER/dovecot.index.pvt reset, view is now inconsistent

or

Error: INDEX_FOLDER/dovecot.index.pvt view is inconsistent


when shared folder is never touched and empty.

UserA share XXXXX folder with UserB, if XXXXX folder is new (never 
touched) and empty every time UserB looks in that folder, an error 
appears in log file. If UserA copy a mail in XXXXX folder, no more 
errors. If UserA (or UserB) delete all mails in XXXXX folder (the folder 
is empty again), no more errors.

So the errors appear when UserB access a new (never touched) shared 
empty folder; if the folder is empty, but not new (p.e. UserA has 
already copied and deleted mails in that folder) error is logged only once.

Attached my configuration.

Thanks,
    Marco


-- 
Marco Giunta - ITCS SysAdmin
Via Bonomea, 265
34136 - Trieste, Italy
Tel: +39-040-3787-503
Fax: +39-040-3787-244

-------------- next part --------------
# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 3.10.0-693.17.1.el7.x86_64 x86_64 CentOS Linux release 7.4.1708 (Core)  
auth_debug = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
auth_verbose = yes
auth_verbose_passwords = sha1:6
doveadm_password =  # hidden, use -P to show it
doveadm_port = 26001
first_valid_uid = 200
hostname = hostname.example.com
imap_client_workarounds = delay-newmail
imapc_features = rfc822.size fetch-headers
imapc_host = hostname.example.com
imapc_master_user = dovesuper
imapc_password =  # hidden, use -P to show it
imapc_user = %u
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
lda_original_recipient_header = Delivered-To
listen = *
lmtp_hdr_delivery_address = original
lmtp_rcpt_check_quota = yes
login_trusted_networks = 10.0.0.0/30 10.0.0.0/30 10.0.0.0/23
mail_fsync = always
mail_gid = vmail
mail_home = /srv/mail/%1n/%n
mail_location = mdbox:~/dbox:ALT=/srv/archives/%1n/%n/dbox:INDEX=/srv/indexes/%1n/%n:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n
mail_plugins = acl mailbox_alias quota fts fts_solr
mail_prefetch_count = 20
mail_server_admin = mailto:postmaster at example.com
mail_shared_explicit_inbox = yes
mail_uid = vmail
mailbox_list_index = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext vacation-seconds spamtest spamtestplus editheader imapflags notify
mbox_write_locks = fcntl
mdbox_rotate_interval = 1 days
mdbox_rotate_size = 64 M
mmap_disable = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox Archives {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
  separator = /
}
namespace others {
  list = children
  location = mdbox:%%h/dbox:ALT=/srv/archives/%%1n/%%n/dbox:INDEX=/srv/indexes/%%1n/%%n:INDEXPVT=/srv/indexes/%1n/%n/shared/%%n:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/shared/%%n
  prefix = Other Users/%%n/
  separator = /
  subscriptions = no
  type = shared
}
passdb {
  args = /etc/dovecot/passwd.masterusers
  default_fields = userdb_master_user=%{login_user}
  driver = passwd-file
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.masterusers.acl
  default_fields = userdb_acl_defaults_from_inbox=yes userdb_mail=mdbox:/srv/mail/%1{login_user}/%{login_user}/dbox:ALT=/srv/archives/%1{login_user}/%{login_user}/dbox:INDEX=/srv/indexes/%1{login_user}/%{login_user}:INDEXPVT=/srv/indexes/%1n/%n/master/%{login_user}:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/master/%{login_user}
  driver = ldap
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.masterusers.noacl
  default_fields = userdb_master_user=%{login_user} userdb_mail=mdbox:/srv/mail/%1{login_user}/%{login_user}/dbox:ALT=/srv/archives/%1{login_user}/%{login_user}/dbox:INDEX=/srv/indexes/%1{login_user}/%{login_user}:INDEXPVT=/srv/indexes/%1n/%n/master/%{login_user}:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/master/%{login_user}
  driver = ldap
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  acl = vfile:/srv/shared/dovecot/global-acls:cache_secs=300
  acl_shared_dict = fs:posix:prefix=/srv/shared/dovecot/shared-acls/
  fts = solr
  fts_autoindex = yes
  fts_autoindex_max_recent_msgs = 20
  fts_index_timeout = 60
  fts_solr = url=http://localhost:8983/solr/dovecot/
  last_login_dict = fs:posix:prefix=~/
  last_login_key = lastlogin
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  mail_log_fields = uid box msgid from
  mailbox_alias_new = INBOX_spam
  mailbox_alias_new2 = Junk E-mail
  mailbox_alias_new3 = Posta indesiderata
  mailbox_alias_new4 = Deleted Messages
  mailbox_alias_new5 = Posta eliminata
  mailbox_alias_new6 = Sent Messages
  mailbox_alias_new7 = Posta inviata
  mailbox_alias_old = Junk
  mailbox_alias_old2 = Junk
  mailbox_alias_old3 = Junk
  mailbox_alias_old4 = Trash
  mailbox_alias_old5 = Trash
  mailbox_alias_old6 = Sent
  mailbox_alias_old7 = Sent
  quota = count:User quota
  quota2 = count:Archive quota
  quota2_rule = *:storage=25GB
  quota2_warning = storage=95%% quota2-warning 95 %n
  quota2_warning2 = storage=90%% quota2-warning 90 %n
  quota2_warning3 = storage=80%% quota2-warning 80 %n
  quota_rule = *:storage=5GB
  quota_rule2 = Trash:storage=+10%%
  quota_rule3 = Archives/*:ignore
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Quota exceeded (mailbox for user is full)
  quota_status_success = DUNNO
  quota_vsizes = yes
  quota_warning = storage=100%% quota-warning 100 %n
  quota_warning2 = storage=95%% quota-warning 95 %n
  quota_warning3 = storage=90%% quota-warning 90 %n
  quota_warning4 = storage=80%% quota-warning 80 %n
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /etc/dovecot/sieve/spinsa.sieve
  sieve_default = /etc/dovecot/sieve/dovecot.sieve
  sieve_editheader_forbid_add = X-SA-Spam-Score
  sieve_editheader_forbid_delete = X-SA-Spam-Score
  sieve_extensions = +notify +imapflags +vacation-seconds +spamtest +spamtestplus +editheader
  sieve_max_redirects = 16
  sieve_spamtest_max_value = 10
  sieve_spamtest_status_header = X-SA-Spam-Score
  sieve_spamtest_status_type = score
  sieve_vacation_min_period = 0s
}
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
postmaster_address = postmaster at example.com
protocols = imap pop3 lmtp sieve
rejection_reason = Your message to <%t> was automatically rejected for the following reason - il tuo messaggio a <%t> è stato rifiutato per il seguente motivo:%n%n%r
rejection_subject = Rejected - Messaggio rifiutato: %s
service auth {
  inet_listener {
    port = 49494
  }
  unix_listener auth-userdb {
    user = vmail
  }
}
service dict {
  unix_listener dict {
    mode = 0660
    user = vmail
  }
}
service doveadm {
  inet_listener {
    port = 12345
  }
}
service imap-login {
  process_min_avail = 4
  service_count = 0
}
service imap {
  process_limit = 2048
}
service lmtp {
  inet_listener lmtp {
    port = 24
  }
  process_limit = 25
  process_min_avail = 10
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
  process_min_avail = 4
  service_count = 0
  vsz_limit = 256 M
}
service quota-status {
  client_limit = 1
  executable = /usr/libexec/dovecot/quota-status -p postfix
  inet_listener {
    port = 25001
  }
}
service quota-warning {
  executable = script /srv/shared/bin/dovecot-quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = vmail
}
service quota2-warning {
  executable = script /srv/shared/bin/dovecot-quota2-warning.sh
  unix_listener quota2-warning {
    user = vmail
  }
  user = vmail
}
shutdown_clients = no
ssl = required
ssl_cert = </etc/pki/dovecot/certs/hostname-crt.pem
ssl_client_ca_file = /etc/pki/tls/cert.pem
ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_protocols = !SSLv2 !SSLv3
submission_host = smtp.example.com:25
syslog_facility = local2
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = acl mailbox_alias quota fts fts_solr sieve
  postmaster_address = postmaster at example.com
}
protocol quota-status {
  auth_master_user_separator = 
}
protocol imap {
  mail_max_userip_connections = 50
  mail_plugins = acl mailbox_alias quota fts fts_solr imap_quota imap_acl last_login mail_log notify
}
protocol sieve {
  mail_max_userip_connections = 50
}
protocol pop3 {
  mail_max_userip_connections = 50
}


More information about the dovecot mailing list