Hi,
I'm running:
# 2.2.15: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.6 (3e924b1b6c5c+) # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.10
with mailbox in Maildir format and LDA to delivery new email (+ sieve for filter)
on the server there is an email account that is used for "archive", it only receives messages and nobody connects to it. Today dovecot was unable to delibery, via LDA, email in the Maildir and in the log i found the following error.
Login via POP or IMAP works fine but is impossibile to delivery new email (the INBOX have about 135000 emails). I have delete all files in Maildir except cur/ new/ tmp/ and rebuild the dovecot cache, but the error is the same.
Could be a sieve problem? In the user's home there was a file called .dovecot.lda-dupes.lock
What is wrong?
Dec 16 06:53:25 mx02eeh dovecot: lda(user@domain.com): sieve: msgid=SGVW2KMAINxVCnMARiN00013a72@smtp.comune, from=sgv@pippo.com, subject="xxxx": stored mail into mailbox 'INBOX'
Dec 16 06:53:25 mx02eeh dovecot: lda(user@domain.com): Panic: file mail-transaction-log.c: line 271 (mail_transaction_log_rotate): assertion failed: (file->locked)
Dec 16 06:53:25 mx02eeh dovecot: lda(user@domain.com): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x75e1a) [0x7f8f2aca4e1a] -> /usr/lib/ dovecot/libdovecot.so.0(i_syslog_fatal_handler+0x33) [0x7f8f2aca4ee3] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f8f2ac562bf] -> /usr/lib/dovecot/lib dovecot-storage.so.0(+0xd6fc5) [0x7f8f2afe5fc5] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_write+0x1f5) [0x7f8f2afe4e15] -> /usr/lib/dovecot/libd ovecot-storage.so.0(mail_index_sync_commit+0x2c4) [0x7f8f2afdc854] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x55b08) [0x7f8f2af64b08] -> /usr/lib/dovecot /libdovecot-storage.so.0(maildir_transaction_save_commit_pre+0x40f) [0x7f8f2af5f43f] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xb7038) [0x7f8f2afc6038] -
/usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0x9f) [0x7f8f2afd3c6f] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_transa ction_commit+0xa5) [0x7f8f2afc5bf5] -> /usr/lib/dovecot/lib10_quota_plugin.so(+0xbd82) [0x7f8f29c7ed82] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x99ca6) [0x7f8f2afa8ca6] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_transaction_commit_get_changes+0x4f) [0x7f8f2af91b9f] -> /usr/lib/dovecot/libdovecot-st orage.so.0(mailbox_transaction_commit+0x16) [0x7f8f2af91c56] -> /usr/lib/dovecot/libdovecot-sieve.so.0(+0x44047) [0x7f8f29616047] -> /usr/lib/dovecot/libdove cot-sieve.so.0(+0x3a829) [0x7f8f2960c829] -> /usr/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x1e2) [0x7f8f2960cb72] -> /usr/lib/dovecot/libdovec ot-sieve.so.0(sieve_execute+0x56) [0x7f8f2961d936] -> /usr/lib/dovecot/lib90_sieve_plugin.so(+0x2f2e) [0x7f8f2986df2e] -> /usr/lib/dovecot/libdovecot-lda.so. 0(mail_deliver+0x45) [0x7f8f2b2313c5] -> /usr/libexec/dovecot/dovecot-lda(main+0x6ac) [0x402eec] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f8f2a8ebcad] -
/usr/libexec/dovecot/dovecot-lda() [0x4025c9]
My dovecot config:
# 2.2.15: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.6 (3e924b1b6c5c+) # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.10 auth_cache_negative_ttl = 10 mins auth_cache_size = 10 M auth_cache_ttl = 20 mins auth_worker_max_count = 50 deliver_log_format = msgid=%m, from=%f, subject="%s": %$ dict { acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_gid = 89 first_valid_uid = 89 imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags imap_idle_notify_interval = 29 mins imap_logout_format = in=%i out=%o session=<%{session}> last_valid_gid = 89 last_valid_uid = 89 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes listen = * mail_fsync = always mail_location = maildir:~/Maildir mail_plugins = quota acl expire mailbox_list_index = yes maildir_very_dirty_syncs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave duplicate vnd.dovecot.duplicate mmap_disable = yes namespace { list = children location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u prefix = shared/%%n/ separator = / subscriptions = no type = shared } 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 = separator = / } passdb { args = /etc/dovecot/dovecot-deny-sql.conf.ext deny = yes driver = sql } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_shared_dict = proxy::acl expire = Trash expire2 = Spam expire_dict = proxy::expire quota = maildir:UserQuota quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota quota_grace = 10M quota_rule2 = Trash:storage=+100M quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = ~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/before.sieve sieve_dir = ~/sieve sieve_extensions = +vnd.dovecot.duplicate -vacation } pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_fast_size_lookups = yes pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, bytes=%i/%o, session=<%{session}> protocols = imap pop3 sieve sendmail_path = /var/qmail/bin/sendmail service auth { client_limit = 6500 unix_listener auth-userdb { group = vchkpw mode = 0660 user = vpopmail } } service dict { process_limit = 500 unix_listener dict { group = vchkpw mode = 0660 user = vpopmail } } service imap-login { process_min_avail = 4 service_count = 0 } service imap-postlogin { executable = script-login /etc/dovecot/scripts/imap-postlogin.sh unix_listener imap-postlogin { group = vchkpw mode = 0660 user = vpopmail } user = vpopmail } service imap { process_limit = 5000 service_count = 100 } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { process_min_avail = 4 service_count = 0 } service pop3-postlogin { executable = script-login /etc/dovecot/scripts/pop3-postlogin.sh unix_listener pop3-postlogin { group = vchkpw mode = 0660 user = vpopmail } user = vpopmail } service pop3 { process_limit = 1024 service_count = 100 } service quota-warning { executable = script /etc/dovecot/scripts/quota-warning.sh unix_listener quota-warning { user = vpopmail } user = vpopmail } ssl_cert =
# cat /etc/dovecot/sieve/before.sieve require ["vnd.dovecot.duplicate", "fileinto", "mailbox"]; if header :matches "X-Spam-Status" "Yes, *" { fileinto "Spam"; }
if header :contains "Subject" "PROVA Filtro 123" { fileinto "Spam"; }
if duplicate :seconds 60 { fileinto "Trash"; }