[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