I've the following error message appeared 3 continuous for the same mailbox
> (delivery failed to mailbox
> /var/spool/postfix/vhosts/<user>/mail/inbox:
>
> unable to lock for exclusive access: Resource temporarily unavailable
I didn't understand what's happenening .. Can you explain for me ?
What Can I do to avoid such error message again ?
Also, I've the below settings:
# used only for creating mbox dotlock files when creation fails for INBOX.
# Rely on O_EXCL to work when creating dotlock files. The default is to use
# hard linking. O_EXCL makes the dotlocking faster, but it doesn't always
#dotlock_use_excl = no
# Locking method for index files. Alternatives are fcntl, flock and dotlock.
# Dotlocking uses some tricks which may create more disk I/O than other locking
# methods. NFS users: flock doesn't work, remember to change mmap_disable.
#lock_method = fcntl
# Which locking methods to use for locking mbox. There are four available:
# dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe
# fcntl : Use this if possible. Works with NFS too if lockd is used.
# flock : May not exist in all systems. Doesn't work with NFS.
# lockf : May not exist in all systems. Doesn't work with NFS.
# You can use multiple locking methods; if you do the order they're declared
# in is important to avoid deadlocks if other MTAs/MUAs are using multiple
# locking methods as well. Some operating systems don't allow using some of
#mbox_read_locks = fcntl
#mbox_write_locks = fcntl
# Maximum time in seconds to wait for lock (all of them) before aborting.
#mbox_lock_timeout = 300
# If dotlock exists but the mailbox isn't modified in any way, override the
# lock file after this many seconds.
#mbox_dotlock_change_timeout = 120
# Keep the mailbox locked for the entire POP3 session.
#pop3_lock_session = no
# blocking passdb and userdb queries (eg. MySQL and PAM). They're
# [blocking=yes] [session=yes] [setcred=yes]
# Setting blocking=yes uses the alternative way: dovecot-auth worker
# [blocking=yes] - See userdb passwd for explanation
# [blocking=yes] - See userdb passwd for explanation
# [blocking=yes] - By default the lookups are done in the main dovecot-auth
# proceses. Useful with remote NSS lookups that may block.
# used either directly or though a dictionary server. The following dict block
That's means that postfix have try to deliver four messages to the user's mailbox at the same time. As far as you have used
mbox
as mailbox format, each delivery should be performed as sequence of operations. Message should be stored, indices should be updated and so on. To prevent simultaneous deliveries that can broke mbox structures, each delivery first try to lock the mailbox for exclusive operations. Every other delivery after that will see that mailbox is already locked and delivery is not possible at the time. That is why you have see three warnings in the log - first delivery have locked the mailbox and next three are failed.There is no dangerous happened. When delivery is failed
postfix
postpone the message in the queue. Time by time queue is processed and each message is delivered again. Cause messages from queue are delivered one by one and each delivery happens only after previous is complete, there is no new warnings in the logfiles. Sure if delivery will be failed again for some reason, message will be postponed in the queue and warning will be recorded.