The dovecot lda panics with "Trying to sync mailbox INBOX with open transactions" if a user has no sieve script defined. Debugging shows:
Sep 14 19:49:26 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: user's script path /home/grp/userxx/.dovecot.sieve
doesn't exist (using global script path in stead)
Sep 14 19:49:26 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: user has no valid personal script
Sep 14 19:49:26 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: no scripts to execute: reverting to default delivery.
Sep 14 19:49:26 server dovecot: [ID 583609 local0.crit] lda(userxx):
Panic: Trying to sync mailbox INBOX with open transactions
Sep 14 19:49:26 server dovecot: [ID 583609 local0.error] lda(userxx):
Error: Raw backtrace: 0xff1cc2ac -> 0xff1cbb70 -> 0xff2a6474 ->
0xff2a668c -> 0xff2fa444 -> 0xff2a63c8 -> 0xff2668ec -> 0xff266f74 ->
0xff26741c -> 0x12720 -> 0x11948
I then did create an empty sieve script file with touch /home/grp/userxx/.dovecot.sieve and after that lda worked:
Sep 14 19:50:55 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: using sieve path for user's script:
/home/grp/userxx/.dovecot.sieve
Sep 14 19:50:55 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: opening script /home/grp/userxx/.dovecot.sieve
Sep 14 19:50:55 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: script /home/grp/userxx/.dovecot.sieve successfully
compiled
Sep 14 19:50:55 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: sieve: executing script from /home/grp/userxx/.dovecot.sieve
Sep 14 19:50:56 server dovecot: [ID 583609 local0.info] lda(userxx):
save: box=INBOX, uid=6,
msgid=201109141750.p8EHotbE015854@server.hrz.uni-giessen.de, size=1035
Sep 14 19:50:56 server dovecot: [ID 583609 local0.debug] lda(userxx):
Debug: box=/var/mail/userxx mount=/var/mail match=yes
Sep 14 19:50:56 server dovecot: [ID 583609 local0.info] lda(userxx):
sieve: msgid=201109141750.p8EHotbE015854@server.hrz.uni-giessen.de:
stored mail into mailbox 'INBOX'
I think the lda worked in previous releases without a sieve script
file in the users home directory.
dovecot -n output is:
# 2.0.14: /opt/local/etc/dovecot/dovecot.conf
# OS: SunOS 5.10 sun4v
auth_debug = yes
auth_debug_passwords = yes
auth_verbose = yes
disable_plaintext_auth = no
listen = server.hrz.uni-giessen.de localhost
mail_debug = yes
mail_fsync = always
mail_location = mbox:~/Mail:INBOX=/var/mail/%u
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = mail_log notify quota
mail_privileged_group = mail
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
mmap_disable = yes
namespace {
inbox = yes
location =
prefix =
separator = /
type = private
}
namespace {
hidden = yes
list = no
location =
prefix = Mail/
separator = /
subscriptions = yes
type = private
}
passdb {
driver = pam
}
passdb {
args = /opt/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
autocreate = Trash
autocreate2 = caughtspam
autocreate3 = Sent
autosubscribe = Trash
autosubscribe2 = caughtspam
autosubscribe3 = Sent
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size
quota = fs:Home-Verzeichnis:noenforcing
quota2 = fs:INBOX:noenforcing:mount=/var/mail
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster@hrz.uni-giessen.de
protocols = imap pop3 lmtp sieve
sendmail_path = /usr/lib/sendmail
service auth {
client_limit = 11120
}
service imap-login {
process_min_avail = 16
service_count = 0
vsz_limit = 640 M
}
service imap {
process_limit = 4096
vsz_limit = 1 G
}
ssl_cert =
-- Hochschulrechenzentrum der | Mail: Juergen.Obermann@hrz.uni-giessen.de Justus-Liebig-Universitaet | WWW: http://www.uni-giessen.de/obermann/ Heinrich-Buff-Ring 44 | Tel: 0641-99-13054 (0641-99-13001) D-35392 Giessen, Germany | Fax: 0641-99-13009