[Dovecot] segfault with shared namespace version > 2.1.16
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
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
On 17.4.2014, at 3.05, Tom Lieuallen <toml@engr.orst.edu> 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.
#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" .... ....
Timo,
I finally got around to testing this; actually with 2.2.13rc1, which I was quite sure had the fix included. It *did* solve my problem.
thank you for the resolution
Tom Lieuallen
On 5/2/14, 1:59 AM, Timo Sirainen wrote:
On 17.4.2014, at 3.05, Tom Lieuallen <toml@engr.orst.edu> 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.
#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" .... ....
participants (2)
-
Timo Sirainen
-
Tom Lieuallen