[Dovecot] deliver+quota assertion

Andrew Garner muzazzi at gmail.com
Fri Nov 30 18:37:49 EET 2007


When stressing dovecot's delivery agent, I sporadically encountered
the following assertion failures and the associated errors.   I was
trickling in ~50 messages per minute to this mailbox via postal.

Nov 30 09:38:41 mail deliver(example at example.com):
close(/home/vmail/domains//+/example.com/k/example//Maildir/maildirsize)
failed: Bad file descriptor
Nov 30 09:38:41 mail deliver(example at example.com):
rename(/home/vmail/domains//+/example.com/k/example//Maildir/maildirsize.lock,
/home/vmail/domains//+/example.com/k/example//Maildir/maildirsize)
failed
: No such file or directory
Nov 30 09:38:41 mail deliver(example at example.com):
file_dotlock_replace(/home/vmail/domains//+/example.com/k/example//Maildir/maildirsize)
failed: No such file or directory
Nov 30 09:38:41 mail deliver(example at example.com): Internal quota
calculation error
Nov 30 09:38:41 mail deliver(example at example.com): file
index-transaction.c: line 54 (index_transaction_finish_rollback):
assertion failed: (t->mail_ref_count == 0)
Nov 30 09:38:41 mail deliver(example at example.com): Raw backtrace:
/usr/lib/dovecot/deliver(i_syslog_fatal_handler+0x2b) [0x80bf0ab] ->
/usr/lib/dovecot/deliver [0x80beeba] -> /usr/lib/dovecot/deliver [0x
808f243] -> /usr/lib/dovecot/deliver(index_transaction_rollback+0x1a)
[0x808f06a] -> /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so
[0xb7ea2f13] -> /usr/lib/dovecot/deliver(deliver_save+0x212)
[0x8059412]
 -> /usr/lib/dovecot/deliver(main+0x12cb) [0x805a79b] ->
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8) [0xb7ebcea8] ->
/usr/lib/dovecot/deliver [0x8058611]


# dovecot -n
# 1.1.beta9: /etc/dovecot/dovecot.conf
base_dir: /var/run/dovecot/
protocols: imap imaps pop3 pop3s
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
login_greeting: Nationwide Internet Mail Server ready.
verbose_proctitle: yes
first_valid_uid: 89
last_valid_uid: 89
first_valid_gid: 89
last_valid_gid: 89
mail_uid: 89
mail_gid: 89
mail_location: maildir:/home/vmail/domains/%h/Maildir
mail_debug: yes
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
lock_method: dotlock
mail_executable(default): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_plugin_dir(default): /usr/lib/dovecot/imap
mail_plugin_dir(imap): /usr/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
imap_client_workarounds(default): delay-newmail
imap_client_workarounds(imap): delay-newmail
imap_client_workarounds(pop3):
pop3_uidl_format(default): %08Xu%08Xv
pop3_uidl_format(imap): %08Xu%08Xv
pop3_uidl_format(pop3): %f
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: login plain cram-md5 digest-md5
  username_format: %Lu
  verbose: yes
  debug: yes
  passdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  userdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
      group: vmail
plugin:
  quota: maildir
  quota_rule: *:storage=102400


This is the latest hg sources, somewhat after beta9:
$ hg tip
changeset:   6877:a5a7d38b6df7
branch:      HEAD
tag:         tip
user:        Timo Sirainen <tss at iki.fi>
date:        Thu Nov 29 19:38:06 2007 +0200


More information about the dovecot mailing list