Hello,
We are seeing lots of errors like this in the logs:
"dovecot: imap(user@domain)<31219><Dly3bTyt4tesENjH>: Error: autoexpunge:
Couldn't create dovecot.autoexpunge.lock lock:
file_create_locked(/home/virtual/domain/user/dovecot.autoexpunge.lock) failed:
fstat(/home/virtual/domain/user/dovecot.autoexpunge.lock) failed: Stale file
handle"
We don't understand why Dovecot is trying to create the
dovecot.autoexpunge.lock file in the mail home directory instead of mail
location directory.
For some accounts, the dovecot.autoexpunge.lock file is correctly created
inside the mail home directory.
Any ideas on what could be causing this behavior?
# doveadm user user@domain
field value
uid 150
gid 8
home /home/virtual/domain/user
mail maildir:~/Maildir
quota_rule *:bytes=8192000000
# doveconf -n
# 2.3.21.1
# Pigeonhole version 0.5.21.1
# OS: Linux 6.1.0-29-amd64 x86_64 Debian 12.9
auth_cache_verify_password_with_worker = yes
auth_mechanisms = plain login
auth_verbose = yes
auth_worker_max_count = 256
default_client_limit = 10000
default_process_limit = 10000
default_vsz_limit = 1 G
dict {
lastlogin = mysql:/etc/dovecot/mysql/dovecot-dict-lastlogin.conf
quotadict = mysql:/etc/dovecot/mysql/dovecot-dict-quota.conf
}
disable_plaintext_auth = no
first_valid_uid = 100
imap_hibernate_timeout = 30 secs
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l pid=%p %c
login_trusted_networks =
mail_fsync = always
mail_gid = 8
mail_home = /home/virtual/%d/%n
mail_location = maildir:~/Maildir
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = zlib quota mail_log notify
mail_privileged_group = mail
mail_uid = 150
maildir_stat_dirs = 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 ihave
metric imap_command {
filter = event=imap_command_finished AND tagged_reply_state=OK
group_by = cmd_name
}
metric imap_select_no {
filter = event=imap_command_finished AND cmd_name=SELECT AND
tagged_reply_state=NO
}
metric imap_select_no_notfound {
filter = event=imap_command_finished AND cmd_name=SELECT AND
tagged_reply="NO*Mailbox doesn't exist:*"
}
metric storage_http_gets {
filter = event=http_request_finished AND category=storage AND method=get
}
mmap_disable = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Spam {
auto = subscribe
autoexpunge = 30 days
special_use = \Junk
}
mailbox Trash {
auto = subscribe
autoexpunge = 60 days
special_use = \Trash
}
mailbox virtual/All {
special_use = \All
}
prefix =
}
passdb {
args = /etc/dovecot/mysql/dovecot-sql.conf
driver = sql
}
plugin {
last_login_dict = proxy::lastlogin
last_login_key = # hidden, use -P to show it
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size
quota = dict:user::proxy::quotadict
quota_rule2 = Trash:ignore
quota_rule3 = Spam:ignore
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 The email account that you tried to reach
is over quota
quota_status_success = DUNNO
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = ~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve/default.sieve
sieve_dir = ~/sieve
sieve_vacation_send_from_recipient = yes
trash = /etc/dovecot/dovecot-trash.conf
zlib_save = gz
zlib_save_level = 6
}
protocols = imap sieve pop3 lmtp
service anvil {
client_limit = 50000
unix_listener anvil-auth-penalty {
mode = 00
}
}
service auth {
client_limit = 50000
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
group = mail
mode = 0660
user = vmail
}
user = root
vsz_limit = 1 G
}
service dict {
unix_listener dict {
mode = 0660
user = vmail
}
}
service imap-hibernate {
unix_listener imap-hibernate {
group = $default_internal_group
mode = 0660
user = vmail
}
}
service imap-login {
inet_listener imap {
address = *
port = 143
}
inet_listener imaps {
address = *
port = 993
}
process_min_avail = 1
service_count = 0
}
service imap {
extra_groups = $default_internal_group
process_min_avail = 16
unix_listener imap-master {
user = $default_internal_user
}
vsz_limit = 2 G
}
service lmtp {
process_min_avail = 16
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
vsz_limit = 1 G
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
process_min_avail = 16
service_count = 1
}
service managesieve {
vsz_limit = 1 G
}
service pop3-login {
inet_listener pop3 {
address = *
port = 110
}
inet_listener pop3s {
address = *
port = 995
}
process_min_avail = 16
service_count = 1
}
service pop3 {
process_min_avail = 16
vsz_limit = 1 G
}
service quota-status {
executable = /usr/lib/dovecot/quota-status -p postfix
process_min_avail = 16
unix_listener /var/spool/postfix/private/quota-status {
group = postfix
mode = 0666
user = postfix
}
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
mode = 0660
user = vmail
}
user = vmail
}
service stats {
unix_listener stats-reader {
mode = 0660
user = vmail
}
unix_listener stats-writer {
mode = 0666
user = vmail
}
}
ssl_cert = </etc/dovecot/ssl/cert.pem
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1
userdb {
args = /etc/dovecot/mysql/dovecot-sql.conf
driver = sql
}
verbose_proctitle = yes
protocol imap {
imap_max_line_length = 64 k
mail_max_userip_connections = 16
mail_plugins = zlib quota mail_log notify trash imap_quota
}
protocol pop3 {
mail_max_userip_connections = 10
mail_plugins = zlib quota mail_log notify
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_fast_size_lookups = yes
pop3_no_flag_updates = yes
pop3_uidl_format = %08Xu%08Xv
}
protocol sieve {
mail_max_userip_connections = 10
managesieve_max_compile_errors = 5
}
protocol lda {
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = zlib quota mail_log notify sieve
sendmail_path = /usr/lib/sendmail
syslog_facility = mail
}
protocol lmtp {
mail_plugins = zlib quota mail_log notify sieve
syslog_facility = mail
}
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]