dovecot-lda crash after upgrade to 2.2.28

Max Kostikov max at kostikov.co
Tue Feb 28 11:16:49 UTC 2017


Hi!

I posted this problem few days ago in FreeBSD bugtracker
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217364
So, the problem is in crash of dovecot-lda client while
local mailbox delivery with this message in log
> dovecot: lda(my at email): Panic: file mail-namespace.c: line 709 
> (mail_namespace_find): assertion failed: (ns != NULL)
My Dovecot config stills the same from previous 2.2.27 installation
to I believe that problem in new Dovecot code related namespace.
System:
> # uname -v
> FreeBSD 11.0-RELEASE-p8 #0: Wed Feb 22 06:12:04 UTC 2017     
> root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
Options:
> root at beta:/usr/ports/mail/dovecot2 # make showconfig | grep =on
>     DOCS=on: Build and/or install documentation
>     EXAMPLES=on: Build and/or install examples
>     KQUEUE=on: kqueue(2) support
>     LIBWRAP=on: TCP wrapper support
>     LZ4=on: LZ4 compression support
>     MYSQL=on: MySQL database support
>     GSSAPI_BASE=on: Use GSSAPI from base
Config:
# doveconf -n
# 2.2.27 (c0f36b0): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: FreeBSD 11.0-RELEASE-p8 amd64  ufs
auth_mechanisms = plain login
default_login_user = dovecot
dict {
   sqluserquota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql-user.conf
}
disable_plaintext_auth = no
first_valid_gid = 0
first_valid_uid = 25
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
login_access_sockets = tcpwrap
login_greeting = Dovecot ready!
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
mail_access_groups = mail
mail_gid = 6
mail_location = maildir:/var/mail/%d/%n
mail_plugins = acl quota trash
mail_privileged_group = mail
mail_uid = 26
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 index ihave duplicate mime foreverypart 
extracttext
namespace {
   location = 
maildir:/var/mail/%d/.public:INDEXPVT=/var/mail/%d/%n/public
   prefix = public.
   separator = .
   subscriptions = no
   type = public
}
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix =
   separator = .
   type = private
}
passdb {
   args = /usr/local/etc/dovecot/dovecot-sql.conf
   driver = sql
}
plugin {
   acl = vfile::cache_secs=300
   antispam_backend = mailtrain
   antispam_mail_notspam = %u-revoke
   antispam_mail_sendmail = /usr/local/etc/dovecot/move-cmd.sh
   antispam_mail_sendmail_args =
   antispam_mail_spam = %u-report
   antispam_spam = Junk
   antispam_trash = Trash
   quota = dict:user_quota::proxy::sqluserquota
   quota_grace = 10%%
   quota_rule2 = Trash:storage=+10%%
   quota_rule3 = Junk:storage=+10%%
   quota_warning = storage=100%% quota-exceeded 100 %u
   quota_warning2 = storage=95%% quota-warning 95 %u
   quota_warning3 = storage=90%% quota-warning 90 %u
   quota_warning4 = storage=75%% quota-warning 75 %u
   sieve = ~/dovecot.sieve
   sieve_before = /usr/local/etc/dovecot/default.sieve
   sieve_dir = ~/sieve
   sieve_global_path = /usr/local/etc/dovecot/default.sieve
   trash = /usr/local/etc/dovecot/dovecot-trash.conf
}
protocols = imap pop3 lmtp sieve
service auth {
   unix_listener auth-client {
     mode = 0660
     user = mailnull
   }
   unix_listener auth-master {
     mode = 0660
     user = mailnull
   }
   user = root
}
service dict {
   unix_listener dict {
     mode = 0660
     user = mailnull
   }
}
service imap-login {
   chroot = login
   client_limit = 64
   executable = /usr/local/libexec/dovecot/imap-login
   inet_listener imap {
     port = 143
   }
   inet_listener imaps {
     port = 993
   }
   process_limit = 32
   process_min_avail = 8
   service_count = 1
   user = $default_login_user
   vsz_limit = 64 M
}
service imap {
   executable = /usr/local/libexec/dovecot/imap
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   process_min_avail = 1
   service_count = 1
   user = $default_login_user
   vsz_limit = 64 M
}
service managesieve {
   process_limit = 10
}
service pop3-login {
   chroot = login
   client_limit = 64
   executable = /usr/local/libexec/dovecot/pop3-login
   inet_listener pop3 {
     port = 110
   }
   inet_listener pop3s {
     port = 995
   }
   process_limit = 32
   process_min_avail = 8
   service_count = 1
   user = $default_login_user
   vsz_limit = 64 M
}
service pop3 {
   executable = /usr/local/libexec/dovecot/pop3
}
service quota-warning {
   executable = script /usr/local/etc/dovecot/quota_warning.sh
   unix_listener quota-warning {
     mode = 0660
     user = mailnull
   }
}
service tcpwrap {
   unix_listener login/tcpwrap {
     mode = 0600
     user = $default_login_user
   }
}
ssl_ca = </usr/local/etc/letsencrypt/live/peek.ru/chain.pem
ssl_cert = </usr/local/etc/letsencrypt/live/peek.ru/cert.pem
ssl_cipher_list = 
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
userdb {
   args = /usr/local/etc/dovecot/dovecot-sql.conf
   driver = sql
}
protocol sieve {
   managesieve_implementation_string = dovecot
   managesieve_max_line_length = 65536
}
protocol imap {
   imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
   mail_plugins = acl quota trash antispam imap_acl imap_quota
}
protocol lmtp {
   mail_plugins = acl quota trash sieve
}
protocol pop3 {
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
   pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
   auth_socket_path = /var/run/dovecot/auth-master
   mail_plugins = acl quota trash sieve
   postmaster_address = postmaster at peek.ru
   sendmail_path = /usr/sbin/sendmail
}
local_name *.domain.ru {
   ssl_ca = </usr/local/etc/letsencrypt/live/domain.ru/chain.pem
   ssl_cert = </usr/local/etc/letsencrypt/live/domain.ru/cert.pem
   ssl_key =  # hidden, use -P to show it
}

-- 
With best regards,
Max Kostikov

BBM: 24CA5DF8 | W: https://kostikov.co


More information about the dovecot mailing list