[Dovecot] Dovecot 2.2.4 - Fatal: master: service(imap): child 44562 killed with signal 11
Hi all! I just upgraded dovecot from 2.2.2 to 2.2.4. Now I can't login to imap, proces imap throws segfault. Here is snip from dovecot.log:
2013-06-25T23:06:47.824321+02:00 meteor dovecot: imap-login: Login: user=marcin@mejor.pl, method=PLAIN, rip=2001:470:1f0b:1ab3:1bc:3b24:d355:b142, lip=2001:470:1f15:1b61::2, mpid=44562, TLS, session=<PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC> 2013-06-25T23:06:47.827616+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead 2013-06-25T23:06:47.830425+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Fatal: master: service(imap): child 44562 killed with signal 11 (core dumped)
Here is bt created using gdb: Reading symbols from /usr/libexec/dovecot/imap...Reading symbols from /usr/lib64/debug/usr/libexec/dovecot/imap.debug...done. done. [New LWP 17730] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `dovecot/imap'. Program terminated with signal 11, Segmentation fault. #0 imapc_storage_try_get_root_sep (storage=0x0, sep_r=0x3f7bad9bbd7 "") at imapc-storage.c:229 229 i_assert(storage->list != NULL); (gdb) Thread 1 (Thread 0x38656679700 (LWP 17730)): #0 imapc_storage_try_get_root_sep (storage=0x0, sep_r=0x3f7bad9bbd7 "") at imapc-storage.c:229 #1 0x00000386567b8b05 in imapc_list_get_hierarchy_sep (_list=<optimized out>) at imapc-list.c:196 #2 0x00000386567b8fff in imapc_list_get_fs_name (list=0xdba28f030, name=0x0) at imapc-list.c:282 #3 0x00000386567b9291 in imapc_list_get_path (_list=<optimized out>, name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x3f7bad9bcc8) at imapc-list.c:323 #4 0x00000386567db675 in mailbox_list_get_root_path (list=<optimized out>, type=<optimized out>, path_r=0x3f7bad9bcc8) at mailbox-list.c:1258 #5 0x0000038655c75d15 in quota_add_user_namespace (quota=0xdba288e80, ns=0xdba28eee0) at quota.c:704 #6 0x0000038655c7d0ea in quota_mailbox_list_created (list=0xdba292480) at quota-storage.c:590 #7 0x00000386567d64d2 in hook_mailbox_list_created (list=0xdba292480) at mail-storage-hooks.c:319 #8 0x00000386567da297 in mailbox_list_create (driver=<optimized out>, ns=0xdba28eee0, set=0x3f7bad9be20, flags=<optimized out>, list_r=0xdba28f228, error_r=0x3f7bad9be80) at mailbox-list.c:206 #9 0x00000386567b8f63 in imapc_list_get_fs (list=0xdba28f030) at imapc-list.c:265 #10 0x00000386567b927e in imapc_list_get_path (_list=<optimized out>, name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x3f7bad9bf18) at imapc-list.c:319 #11 0x00000386567db675 in mailbox_list_get_root_path (list=<optimized out>, type=<optimized out>, path_r=0x3f7bad9bf18) at mailbox-list.c:1258 #12 0x0000038655c75d15 in quota_add_user_namespace (quota=0xdba288e80, ns=0xdba28eee0) at quota.c:704 #13 0x0000038655c7d0ea in quota_mailbox_list_created (list=0xdba28f030) at quota-storage.c:590 #14 0x00000386567d64d2 in hook_mailbox_list_created (list=0xdba28f030) at mail-storage-hooks.c:319 #15 0x00000386567da297 in mailbox_list_create (driver=<optimized out>, ns=0xdba28eee0, set=0x3f7bad9c090, flags=<optimized out>, list_r=0x3f7bad9c0e8, error_r=0x3f7bad9c1a0) at mailbox-list.c:206 #16 0x00000386567d15c1 in mail_storage_create_full (ns=0xdba28eee0, driver=<optimized out>, data=<optimized out>, flags=(unknown: 0), storage_r=0x3f7bad9c150, error_r=0x3f7bad9c1a0) at mail-storage.c:356 #17 0x00000386567d181c in mail_storage_create (ns=<optimized out>, driver=<optimized out>, flags=<optimized out>, error_r=<optimized out>) at mail-storage.c:407 #18 0x00000386567c9b25 in namespace_add (user=0xdba283e90, ns_set=<optimized out>, unexpanded_ns_set=0xdba284668, mail_set=0xdba284f98, ns_p=0xdba28c5b0, error_r=0x3f7bad9c300) at mail-namespace.c:170 #19 0x00000386567caba7 in mail_namespaces_init (user=0xdba283e90, error_r=0x3f7bad9c300) at mail-namespace.c:344 #20 0x00000386567e1acf in mail_storage_service_init_post (error_r=0x3f7bad9c300, mail_user_r=0x3f7bad9c3d0, priv=0x3f7bad9c2d0, user=0xdba272c38, ctx=<optimized out>) at mail-storage-service.c:653 #21 mail_storage_service_next (ctx=<optimized out>, user=0xdba272c38, mail_user_r=0x3f7bad9c3d0) at mail-storage-service.c:1158 #22 0x00000386567e1e35 in mail_storage_service_lookup_next (ctx=0xdba26e4b0, input=<optimized out>, user_r=0x3f7bad9c3c8, mail_user_r=0x3f7bad9c3d0, error_r=0x3f7bad9c430) at mail-storage-service.c:1193 #23 0x0000000db6f824e9 in client_create_from_input (input=0x3f7bad9c440, login_client=0xdba270660, fd_in=12, fd_out=12, input_buf=0x3f7bad9c4b0, error_r=<optimized out>) at main.c:204 #24 0x0000000db6f827f7 in login_client_connected (client=0xdba270660, username=<optimized out>, extra_fields=<optimized out>) at main.c:277 #25 0x00000386566a97e6 in master_login_auth_finish (client=0xdba270660, auth_args=<optimized out>) at master-login.c:209 #26 0x00000386566a9b45 in master_login_auth_callback (auth_args=0xdba264ee8, errormsg=0x0, context=<optimized out>) at master-login.c:377 #27 0x00000386566aa558 in master_login_auth_input_user (args=<optimized out>, auth=<optimized out>) at master-login-auth.c:243 #28 master_login_auth_input (auth=0xdba26fa10) at master-login-auth.c:363 #29 0x0000038656704cf6 in io_loop_call_io (io=0xdba2709f0) at ioloop.c:387 #30 0x0000038656705f0f in io_loop_handler_run (ioloop=<optimized out>) at ioloop-epoll.c:215 #31 0x00000386567046f0 in io_loop_run (ioloop=0xdba26d2b0) at ioloop.c:406 #32 0x00000386566ac017 in master_service_run (service=0xdba26d140, callback=<optimized out>) at master-service.c:560 #33 0x0000000db6f82ebc in main (argc=1, argv=0xdba26cf20) at main.c:400 (gdb) quit
doveconf -n: # 2.2.4: /etc/dovecot/dovecot.conf # OS: Linux 3.9.6-hardened x86_64 Gentoo Base System release 2.2 auth_cache_size = 1 k auth_mechanisms = login digest-md5 cram-md5 plain deliver_log_format = msgid=%m: from=%f: phys=%p: virt=%w %$ dict { quota = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext } first_valid_uid = 8 last_valid_uid = 8 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_attachment_dir = /dane/domeny/zalaczniki mail_attachment_min_size = 10000 k mail_cache_min_mail_count = 20 mail_gid = mail mail_log_prefix = "%s(%u) <%{session}>: " mail_plugins = autocreate quota notify mail_log stats zlib mail_privileged_group = mail mail_uid = mail maildir_stat_dirs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave mdbox_preallocate_space = yes mdbox_rotate_interval = 60 days mdbox_rotate_size = 50 M namespace inbox { inbox = yes list = 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 = . subscriptions = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { autocreate = Trash autocreate2 = Spam autocreate3 = Sent autocreate4 = Drafts autosubscribe = Trash autosubscribe2 = Spam autosubscribe3 = Sent autosubscribe4 = Drafts quota = dict:User quota::proxy::quota sieve = ~/.dovecot.sieve sieve_dir = ~/sieve stats_command_min_time = 1 mins stats_domain_min_time = 12 hours stats_ip_min_time = 12 hours stats_memory_limit = 1M stats_refresh = 30 s stats_session_min_time = 15 mins stats_track_cmds = yes stats_user_min_time = 1 hours zlib_save = gz } postmaster_address = postmaster@mejor.pl protocols = imap pop3 sieve service auth { unix_listener auth-userdb { group = mail mode = 0660 user = root } } service dict { unix_listener dict { user = mail } } service stats { fifo_listener stats-mail { mode = 0600 user = mail } } ssl_cert =
I'm also using namespaces and imapc defined in database (as settings per user). Thanks, Marcin
Le 26 juin 2013 à 13:16, Marcin Mirosław a écrit :
Hi all! I just upgraded dovecot from 2.2.2 to 2.2.4. Now I can't login to imap, proces imap throws segfault. Here is snip from dovecot.log:
[...] 2013-06-25T23:06:47.827616+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead [...]
Hello Marcin,
Perhaps is it worth to try what the log suggests? IIRC, it's quite a long time now that autocreate's deprecation has been announced.
HTH, Axel
W dniu 28.06.2013 14:56, Axel Luttgens pisze:
Le 26 juin 2013 à 13:16, Marcin Mirosław a écrit :
Hi all! I just upgraded dovecot from 2.2.2 to 2.2.4. Now I can't login to imap, proces imap throws segfault. Here is snip from dovecot.log:
[...] 2013-06-25T23:06:47.827616+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead [...]
Hello Marcin,
Hi Axel,
Perhaps is it worth to try what the log suggests?
Perhaps you are right:) But I don't suspect that throwing segfaults is the best way to remind about it;)
IIRC, it's quite a long time now that autocreate's deprecation has been announced.
I have fixed configuration. Sadly, dovecot still throws segfaults. Regards! Marcin
Le 28 juin 2013 à 15:48, Marcin Mirosław a écrit :
[...]
I have fixed configuration. Sadly, dovecot still throws segfaults.
Hello Marcin,
Do you still encounter the problem? FYI, just upgraded from 2.2.3 to 2.2.4 here, without any obvious ill effect wrt imap sessions.
Axel
W dniu 05.07.2013 14:37, Axel Luttgens pisze:
Le 28 juin 2013 à 15:48, Marcin Mirosław a écrit :
[...]
I have fixed configuration. Sadly, dovecot still throws segfaults.
Hello Marcin,
Hi Axel! Yhanks for bringing my problem up.
Do you still encounter the problem? FYI, just upgraded from 2.2.3 to 2.2.4 here, without any obvious ill effect wrt imap sessions.
I did some tests. Problems appears when I use namespace with defined IMAPC. My definition of addistionale namespaces is keept in database, here it is: namespace=mailinglists xxxx-wp-pl test3$namespace/test3/location=mdbox:~/.mdbox/test3/$namespace/test3/prefix=test3.$namespace/mailinglists/location=mdbox:~/.mdbox/mailinglists$namespace/mailinglists/prefix=mailinglists.$namespace/mailinglists/separator=.$namespace/test3 /separator=.$namespace/xxxx-wp-pl/location=imapc:~/imapc.xxxx-wp-pl/$namespace/xxxx-wp-pl/prefix=xxxx-wp-pl.$imapc_host=imap.wp.pl$imapc_port=993$imapc_user=xxxx @wp.pl$imapc_password=QWERTY$imapc_ssl=imaps$imapc_ssl_ca_dir=/etc/ssl/certs$imapc_ssl_verify=no$imapc_feature=rfc.822$ignore_on_failure=yes
I've also problem with dovecot 2.2.3.
Regards, Marcin.
After thinking about it enough and not seeing any simple fix for the crash, I did some larger changes to hg which fix this. There's an easy workaround though: Explicitly configure a hierarchy separator for the imapc namespaces.
On 26.6.2013, at 14.16, Marcin Mirosław marcin@mejor.pl wrote:
Hi all! I just upgraded dovecot from 2.2.2 to 2.2.4. Now I can't login to imap, proces imap throws segfault. Here is snip from dovecot.log:
2013-06-25T23:06:47.824321+02:00 meteor dovecot: imap-login: Login: user=marcin@mejor.pl, method=PLAIN, rip=2001:470:1f0b:1ab3:1bc:3b24:d355:b142, lip=2001:470:1f15:1b61::2, mpid=44562, TLS, session=<PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC> 2013-06-25T23:06:47.827616+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Warning: autocreate plugin is deprecated, use mailbox { auto } setting instead 2013-06-25T23:06:47.830425+02:00 meteor dovecot: imap(marcin@mejor.pl) <PaQ86ADgegAgAQRwHwsaswG8OyTTVbFC>: Fatal: master: service(imap): child 44562 killed with signal 11 (core dumped)
Here is bt created using gdb: Reading symbols from /usr/libexec/dovecot/imap...Reading symbols from /usr/lib64/debug/usr/libexec/dovecot/imap.debug...done. done. [New LWP 17730] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `dovecot/imap'. Program terminated with signal 11, Segmentation fault. #0 imapc_storage_try_get_root_sep (storage=0x0, sep_r=0x3f7bad9bbd7 "") at imapc-storage.c:229 229 i_assert(storage->list != NULL); (gdb) Thread 1 (Thread 0x38656679700 (LWP 17730)): #0 imapc_storage_try_get_root_sep (storage=0x0, sep_r=0x3f7bad9bbd7 "") at imapc-storage.c:229 #1 0x00000386567b8b05 in imapc_list_get_hierarchy_sep (_list=<optimized out>) at imapc-list.c:196 #2 0x00000386567b8fff in imapc_list_get_fs_name (list=0xdba28f030, name=0x0) at imapc-list.c:282 #3 0x00000386567b9291 in imapc_list_get_path (_list=<optimized out>, name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x3f7bad9bcc8) at imapc-list.c:323 #4 0x00000386567db675 in mailbox_list_get_root_path (list=<optimized out>, type=<optimized out>, path_r=0x3f7bad9bcc8) at mailbox-list.c:1258 #5 0x0000038655c75d15 in quota_add_user_namespace (quota=0xdba288e80, ns=0xdba28eee0) at quota.c:704 #6 0x0000038655c7d0ea in quota_mailbox_list_created (list=0xdba292480) at quota-storage.c:590 #7 0x00000386567d64d2 in hook_mailbox_list_created (list=0xdba292480) at mail-storage-hooks.c:319 #8 0x00000386567da297 in mailbox_list_create (driver=<optimized out>, ns=0xdba28eee0, set=0x3f7bad9be20, flags=<optimized out>, list_r=0xdba28f228, error_r=0x3f7bad9be80) at mailbox-list.c:206 #9 0x00000386567b8f63 in imapc_list_get_fs (list=0xdba28f030) at imapc-list.c:265 #10 0x00000386567b927e in imapc_list_get_path (_list=<optimized out>, name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x3f7bad9bf18) at imapc-list.c:319 #11 0x00000386567db675 in mailbox_list_get_root_path (list=<optimized out>, type=<optimized out>, path_r=0x3f7bad9bf18) at mailbox-list.c:1258 #12 0x0000038655c75d15 in quota_add_user_namespace (quota=0xdba288e80, ns=0xdba28eee0) at quota.c:704 #13 0x0000038655c7d0ea in quota_mailbox_list_created (list=0xdba28f030) at quota-storage.c:590 #14 0x00000386567d64d2 in hook_mailbox_list_created (list=0xdba28f030) at mail-storage-hooks.c:319 #15 0x00000386567da297 in mailbox_list_create (driver=<optimized out>, ns=0xdba28eee0, set=0x3f7bad9c090, flags=<optimized out>, list_r=0x3f7bad9c0e8, error_r=0x3f7bad9c1a0) at mailbox-list.c:206 #16 0x00000386567d15c1 in mail_storage_create_full (ns=0xdba28eee0, driver=<optimized out>, data=<optimized out>, flags=(unknown: 0), storage_r=0x3f7bad9c150, error_r=0x3f7bad9c1a0) at mail-storage.c:356 #17 0x00000386567d181c in mail_storage_create (ns=<optimized out>, driver=<optimized out>, flags=<optimized out>, error_r=<optimized out>) at mail-storage.c:407 #18 0x00000386567c9b25 in namespace_add (user=0xdba283e90, ns_set=<optimized out>, unexpanded_ns_set=0xdba284668, mail_set=0xdba284f98, ns_p=0xdba28c5b0, error_r=0x3f7bad9c300) at mail-namespace.c:170 #19 0x00000386567caba7 in mail_namespaces_init (user=0xdba283e90, error_r=0x3f7bad9c300) at mail-namespace.c:344 #20 0x00000386567e1acf in mail_storage_service_init_post (error_r=0x3f7bad9c300, mail_user_r=0x3f7bad9c3d0, priv=0x3f7bad9c2d0, user=0xdba272c38, ctx=<optimized out>) at mail-storage-service.c:653 #21 mail_storage_service_next (ctx=<optimized out>, user=0xdba272c38, mail_user_r=0x3f7bad9c3d0) at mail-storage-service.c:1158 #22 0x00000386567e1e35 in mail_storage_service_lookup_next (ctx=0xdba26e4b0, input=<optimized out>, user_r=0x3f7bad9c3c8, mail_user_r=0x3f7bad9c3d0, error_r=0x3f7bad9c430) at mail-storage-service.c:1193 #23 0x0000000db6f824e9 in client_create_from_input (input=0x3f7bad9c440, login_client=0xdba270660, fd_in=12, fd_out=12, input_buf=0x3f7bad9c4b0, error_r=<optimized out>) at main.c:204 #24 0x0000000db6f827f7 in login_client_connected (client=0xdba270660, username=<optimized out>, extra_fields=<optimized out>) at main.c:277 #25 0x00000386566a97e6 in master_login_auth_finish (client=0xdba270660, auth_args=<optimized out>) at master-login.c:209 #26 0x00000386566a9b45 in master_login_auth_callback (auth_args=0xdba264ee8, errormsg=0x0, context=<optimized out>) at master-login.c:377 #27 0x00000386566aa558 in master_login_auth_input_user (args=<optimized out>, auth=<optimized out>) at master-login-auth.c:243 #28 master_login_auth_input (auth=0xdba26fa10) at master-login-auth.c:363 #29 0x0000038656704cf6 in io_loop_call_io (io=0xdba2709f0) at ioloop.c:387 #30 0x0000038656705f0f in io_loop_handler_run (ioloop=<optimized out>) at ioloop-epoll.c:215 #31 0x00000386567046f0 in io_loop_run (ioloop=0xdba26d2b0) at ioloop.c:406 #32 0x00000386566ac017 in master_service_run (service=0xdba26d140, callback=<optimized out>) at master-service.c:560 #33 0x0000000db6f82ebc in main (argc=1, argv=0xdba26cf20) at main.c:400 (gdb) quit
doveconf -n: # 2.2.4: /etc/dovecot/dovecot.conf # OS: Linux 3.9.6-hardened x86_64 Gentoo Base System release 2.2 auth_cache_size = 1 k auth_mechanisms = login digest-md5 cram-md5 plain deliver_log_format = msgid=%m: from=%f: phys=%p: virt=%w %$ dict { quota = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext } first_valid_uid = 8 last_valid_uid = 8 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_attachment_dir = /dane/domeny/zalaczniki mail_attachment_min_size = 10000 k mail_cache_min_mail_count = 20 mail_gid = mail mail_log_prefix = "%s(%u) <%{session}>: " mail_plugins = autocreate quota notify mail_log stats zlib mail_privileged_group = mail mail_uid = mail maildir_stat_dirs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave mdbox_preallocate_space = yes mdbox_rotate_interval = 60 days mdbox_rotate_size = 50 M namespace inbox { inbox = yes list = 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 = . subscriptions = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { autocreate = Trash autocreate2 = Spam autocreate3 = Sent autocreate4 = Drafts autosubscribe = Trash autosubscribe2 = Spam autosubscribe3 = Sent autosubscribe4 = Drafts quota = dict:User quota::proxy::quota sieve = ~/.dovecot.sieve sieve_dir = ~/sieve stats_command_min_time = 1 mins stats_domain_min_time = 12 hours stats_ip_min_time = 12 hours stats_memory_limit = 1M stats_refresh = 30 s stats_session_min_time = 15 mins stats_track_cmds = yes stats_user_min_time = 1 hours zlib_save = gz } postmaster_address = postmaster@mejor.pl protocols = imap pop3 sieve service auth { unix_listener auth-userdb { group = mail mode = 0660 user = root } } service dict { unix_listener dict { user = mail } } service stats { fifo_listener stats-mail { mode = 0600 user = mail } } ssl_cert =
I'm also using namespaces and imapc defined in database (as settings per user). Thanks, Marcin
W dniu 10.07.2013 05:56, Timo Sirainen pisze:
After thinking about it enough and not seeing any simple fix for the crash, I did some larger changes to hg which fix this. There's an easy workaround though: Explicitly configure a hierarchy separator for the imapc namespaces.
Hi Timo, hi all! Thank you, I've applied three patches and now dovecot works without problem. Even more! It looks that "ignore_on_failure = yes" works better now:) Regards, Marcin
participants (3)
-
Axel Luttgens
-
Marcin Mirosław
-
Timo Sirainen