[Dovecot] segfault with shared namespace version > 2.1.16
Tom Lieuallen
toml at engr.orst.edu
Thu Apr 17 00:05:37 UTC 2014
We're currently running 2.1.16. I've been wanting to update to a 2.2.X
version, but have been running into problems, even with the latest
(2.2.12). I'm not sure at what version this issue appeared, but I
believe I've tried 2.2.10, 2.2.11, and now 2.2.12.
We have a shared maildir setup. With that configuration in place and
with a user in the dovecot-acl file, I can do the following to make it
segfault every time. Note if I comment out the shared namespace config,
it does not segfault.
/private/dovecot/libexec/dovecot/imap -u tom2
* PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID
ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS
THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN
NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH
ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY
MOVE] Logged in as tom2
l list "" *
Segmentation fault (core dumped)
The /a1 and /a2 mentioned here for shared folders and indexes are both
local ext4 file systems.
===========
Here is the output of dovecot -n:
# 2.2.12: /private/dovecot/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.el6.x86_64 x86_64 CentOS release 6.5 (Final)
first_valid_uid = 100
listen = *
mail_location = mbox:~/mail:INBOX=/var/mail/%u:INDEX=/a2/imap-index/%u
mail_plugins = quota acl
namespace {
hidden = yes
inbox = no
list = children
location = maildir:/a1/dove-shared:INDEX=/a2/imap-index/dove-shared/%u
prefix = sharedimap/
separator = /
type = shared
}
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 Trash {
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /private/dovecot/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
passdb {
args = scheme=CRYPT username_format=%u /private/dovecot/etc/passwd
driver = passwd-file
}
plugin {
acl = vfile
quota = fs:INBOX:mount=/a1
quota2 = fs:Home quota:mount=%h
}
protocols = imap lmtp
service imap-login {
process_limit = 500
process_min_avail = 16
service_count = 1
}
service imap {
process_limit = 2048
}
ssl_cert = </private/ssl/certs/mail.engr.oregonstate.edu.pem
ssl_key = </private/ssl/certs/mail.engr.oregonstate.edu.pem
userdb {
args = /private/dovecot/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
userdb {
args = username_format=%u /private/dovecot/etc/passwd
driver = passwd-file
}
==============
I've got core dumps from it. I assume the gdb examples give a reverse
trace of the calls. If more is needed, I can supply.
Core was generated by `/private/dovecot/libexec/dovecot/imap -u tom2'.
Program terminated with signal 11, Segmentation fault.
#0 mailbox_settings_find (user=0x6866c0,
vname=0x670800 "sharedimap/support-reports") at mail-storage.c:624
624 {
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.132.el6.x86_64 sssd-client-1.9.2-129.el6.x86_64
(gdb) bt full
#0 mailbox_settings_find (user=0x6866c0,
vname=0x670800 "sharedimap/support-reports") at mail-storage.c:624
box_set = <value optimized out>
ns = <value optimized out>
#1 0x00007f1cb0323fd0 in mailbox_list_get_storage (list=0x7fff73b39088,
vname=<value optimized out>, storage_r=0x7fff73b39080)
at mailbox-list.c:821
set = <value optimized out>
#2 0x00007f1cb03164a7 in mail_namespace_find_shared (
namespaces=<value optimized out>,
mailbox=0x670800 "sharedimap/support-reports") at mail-namespace.c:651
list = 0x68ea30
storage = 0x0
#3 mail_namespace_find (namespaces=<value optimized out>,
mailbox=0x670800 "sharedimap/support-reports") at mail-namespace.c:669
ns = 0x68ad70
__FUNCTION__ = "mail_namespace_find"
....
....
thank you
Tom Lieuallen
Oregon State University
More information about the dovecot
mailing list