[Dovecot] segfault with shared namespace version > 2.1.16

Tom Lieuallen toml at engr.orst.edu
Thu Apr 24 20:14:26 UTC 2014


Nobody bit on this yet.  :-)  I regret my choice of subject; perhaps 
it's not appealing/appropriate as it mentions an older version.

I did narrow down the problem a little.  This configuration works up 
through 2.2.2.  At version 2.2.3 and beyond, I get segfaults.  So, 
something changed with 2.2.3 that our configuration is tickling.  I'll 
continue to poke at it, but those who look at core dumps would probably 
get right to the issue.

thank you

Tom Lieuallen

On 4/16/14, 5:05 PM, Tom Lieuallen wrote:
> 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