[Dovecot] Dovecot 2.2.4 - Fatal: master: service(imap): child 44562 killed with signal 11

Timo Sirainen tss at iki.fi
Wed Jul 10 06:56:23 EEST 2013


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 at 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 at 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 at 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 at 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 at 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 = </etc/ssl/gwiazdka.mejor.pl.pem
> ssl_key = </etc/ssl/gwiazdka.mejor.pl.pem
> userdb {
>  driver = prefetch
> }
> userdb {
>  args = /etc/dovecot/dovecot-sql.conf.ext
>  driver = sql
> }
> verbose_proctitle = yes
> protocol lda {
>  mail_plugins = autocreate quota notify mail_log stats zlib sieve
> }
> protocol imap {
>  mail_max_userip_connections = 25
>  mail_plugins = autocreate quota notify mail_log stats zlib imap_quota
> imap_stats imap_zlib
> }
> 
> I'm also using namespaces and imapc defined in database (as settings per
> user).
> Thanks,
> Marcin
> 



More information about the dovecot mailing list