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 -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to