Panic: from mbox-sync.c; doveadm zlib-plugin

Timothe Litt litt at acm.org
Mon Dec 1 14:04:22 UTC 2014


Upgraded to dovecot 2.2.15 (built from sources on Fedora linux), saw
intermittent panics:

From dovecot:imap
Error: Next message unexpectedly corrupted in mbox file
/home/xxxx/mail/Junk E-mail at 1202197
Panic: file mbox-sync.c: line 152 (mbox_sync_read_next_mail): assertion
failed: (sync_ctx->input->v_offset != mail_ctx->mail.from_offset ||
sync_ctx->input->eof)
Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0 [0x274ecf]
-> /usr/local/lib/dovecot/libdovecot.so.0 [0x274f4d] ->
/usr/local/lib/dovecot/libdovecot.so.0 [0x27446b] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0 [0x16633e] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(mbox_sync+0x6b6)
[0x168146] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(mbox_storage_sync_init+0x81)
[0x169391] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x40)
[0x186270] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x3d)
[0x18715d] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(index_storage_get_status+0x74)
[0x1b6c44] ->
/usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x5f)
[0x1895bf] -> dovecot/imap(imap_status_get+0x7a) [0x806396a] ->
dovecot/imap(cmd_status+0x128) [0x80588a8] ->
dovecot/imap(command_exec+0x33) [0x805c8e3] -> dovecot/imap [0x805b63f]
-> dovecot/imap [0x805b6c3] -> dovecot/imap(client_handl
Fatal: master: service(imap): child 25461 killed with signal 6 (core
dumps disabled)

They are on hiatus, but thought I should report this anyway.  If I get a
reproducer, I'll see if I can get core dumps.

The user involved had several procmail processes hung waiting for the
lockfile on this mbox.  Killing sendmail & dovecot, the procmails &
restarting sendmail & dovecot is all that I did after the errors.

It is possible that the last message delivered prior to the errors was
truncated ("note the input-eof" in the trace), but this shouldn't result
in a panic.  I'd expect a warning, then the message truncated to
whatever is there, and operations proceeding...

Also, it appears that make install doesn't remove the doveadm zlib
plugin, which it seems was obsoleted by
http://www.dovecot.org/list/dovecot-cvs/2012-October/021796.html.

This results in:
doveadm log find
doveadm(root): Error: Module is for different ABI version 2.1.12 (we
have 2.2.ABIv15(2.2.15)):
/usr/local/lib/dovecot/doveadm/lib10_doveadm_zlib_plugin.so

Removing /usr/local/lib/dovecot/doveadm/lib10_doveadm_zlib_plugin.*
fixes this.  However, it would be better if make install either removed
these from an old installation in an upgrade, renamed the files, or
advised the installer to do so.

FWIW:
# 2.2.15: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.22.14-72.fc6 i686 Fedora Core release 6 (Zod)
first_valid_gid = 4000
first_valid_uid = 4000
hostname = smtp.example.net
login_greeting = Dovecot ready.  Unauthorized access is prohibited.
mail_access_groups = mail
mail_location = mbox:~/mail:INBOX=/var/mail/%n
mail_privileged_group = mail
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox "Train As Forgotten" {
    auto = subscribe
  }
  mailbox "Train As Ham" {
    auto = subscribe
  }
  mailbox "Train As Spam" {
    auto = subscribe
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  driver = pam
}
service imap-login {
  inet_listener imap {
    address = imap.v4.example.net imap.v6.example.net
    port = 143
  }
  inet_listener imaps {
    address = imap.v4.example.net imap.v6.example.net
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    address = pop.v4.example.net pop.v6.example.net
    port = 110
  }
  inet_listener pop3s {
    address = pop.v4.example.net pop.v6.example.net
    port = 995
    ssl = yes
  }
}
ssl_ca = </etc/pki/tls/certs/example_net_ca-cert-crl.pem
ssl_cert = </etc/pki/tls/certs/servers-example-net.pem
ssl_key = </etc/pki/tls/private/servers-example-net.pmk
userdb {
  driver = passwd
}
protocol imap {
  imap_client_workarounds = tb-extra-mailbox-sep tb-lsub-flags
  mail_plugins =
}
protocol pop3 {
  mail_plugins =
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_uidl_format = %08Xu%08Xv
}

-- 
Timothe Litt
ACM Distinguished Engineer
--------------------------
This communication may not represent the ACM or my employer's views,
if any, on the matters discussed. 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4942 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20141201/ec1c37fe/attachment.p7s>


More information about the dovecot mailing list