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 =
==============
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