[Dovecot] imap process and indexer-worker crash while creating folders

Florian Pritz bluewind at xinu.at
Mon Apr 14 17:49:07 UTC 2014


Hi,

I just noticed a similar crash (well same assertion at least) on my
production server. No idea what the user did, but I know it's a normal
client, not some kind of script.

Since I don't know what the user did I can't reproduce the problem, but
I figured dropping a note won't hurt.

I'm running dovecot 2.2.11 on Arch Linux with ext4, config and
backtraces below.

PS: I'm not subscribed to the list, please make sure to CC me on replies.

Thanks,
Florian

###

> Apr 14 09:49:29 karif dovecot: imap(user): Panic: file mail-index-transaction-export.c: line 117 (log_append_ext_intro): assertion failed: (intro->ext_id == idx || idx == (uint32_t)-1)
> Apr 14 09:49:29 karif dovecot: imap(user): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x67450) [0x7f842e6c2450] -> /usr/lib/dovecot/libdovecot.so.0(+0x6752e) [0x7f842e6c252e] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f842e67d47e] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xba112) [0x7f842e9e8112] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_export+0x200) [0x7f842e9e85e0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xb979f) [0x7f842e9e779f] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0x9d) [0x7f842e9e7bfd] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit+0xc) [0x7f842e9e7c9c] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x3e25a) [0x7f842e96c25a] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x3e4bc) [0x7f842e96c4bc] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x90e45) [0x7f842e9bee45] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_get_metadata+0x95) [0x7f842e9ab595] -> /us
r/lib/dovecot/libdovecot-storage.so.0(mailbox_list_index_sync_name+0x2a4) [0x7f842e9bf754] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_list_index_sync+0x10a) [0x7f842e9bfd7a] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_list_index_refresh+0x9e) [0x7f842e9bac8e] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x90292) [0x7f842e9be292] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x90f9b) [0x7f842e9bef9b] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_get_status+0x31) [0x7f842e9ab4b1] -> dovecot/imap(imap_status_get+0x67) [0x41d5d7] -> dovecot/imap(cmd_status+0x123) [0x413133] -> dovecot/imap(command_exec+0x3c) [0x4170ec] -> dovecot/imap() [0x41614f] -> dovecot/imap() [0x416205] -> dovecot/imap(client_handle_input+0x115) [0x416505] -> dovecot/imap(client_input+0x72) [0x416892] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x27) [0x7f842e6d2527] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xd7) [0x7f842e6d32b7] -> /usr/lib/dovecot/libdovecot.so.0(io_loo
p_run+0x38) [0x7f842e6d20c8]
> Apr 14 09:49:29 karif dovecot: imap(user): Fatal: master: service(imap): child 20156 killed with signal 6 (core dumped)

backtrace from a core dump below, sadly it doesn't contain much
information since the dovecot build I'm running stripped.

> #0  0x00007f842e2e8389 in raise () from /usr/lib/libc.so.6
> #1  0x00007f842e2e9788 in abort () from /usr/lib/libc.so.6
> #2  0x00007f842e6c2446 in ?? () from /usr/lib/dovecot/libdovecot.so.0
> #3  0x00007f842e6c252e in ?? () from /usr/lib/dovecot/libdovecot.so.0
> #4  0x00007f842e67d47e in i_panic () from /usr/lib/dovecot/libdovecot.so.0
> #5  0x00007f842e9e8112 in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #6  0x00007f842e9e85e0 in mail_index_transaction_export () from /usr/lib/dovecot/libdovecot-storage.so.0
> #7  0x00007f842e9e779f in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #8  0x00007f842e9e7bfd in mail_index_transaction_commit_full () from /usr/lib/dovecot/libdovecot-storage.so.0
> #9  0x00007f842e9e7c9c in mail_index_transaction_commit () from /usr/lib/dovecot/libdovecot-storage.so.0
> #10 0x00007f842e96c25a in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #11 0x00007f842e96c4bc in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #12 0x00007f842e9bee45 in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #13 0x00007f842e9ab595 in mailbox_get_metadata () from /usr/lib/dovecot/libdovecot-storage.so.0
> #14 0x00007f842e9bf754 in mailbox_list_index_sync_name () from /usr/lib/dovecot/libdovecot-storage.so.0
> #15 0x00007f842e9bfd7a in mailbox_list_index_sync () from /usr/lib/dovecot/libdovecot-storage.so.0
> #16 0x00007f842e9bac8e in mailbox_list_index_refresh () from /usr/lib/dovecot/libdovecot-storage.so.0
> #17 0x00007f842e9be292 in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #18 0x00007f842e9bef9b in ?? () from /usr/lib/dovecot/libdovecot-storage.so.0
> #19 0x00007f842e9ab4b1 in mailbox_get_status () from /usr/lib/dovecot/libdovecot-storage.so.0
> #20 0x000000000041d5d7 in imap_status_get ()
> #21 0x0000000000413133 in cmd_status ()
> #22 0x00000000004170ec in command_exec ()
> #23 0x000000000041614f in ?? ()
> #24 0x0000000000416205 in ?? ()
> #25 0x0000000000416505 in client_handle_input ()
> #26 0x0000000000416892 in client_input ()
> #27 0x00007f842e6d2527 in io_loop_call_io () from /usr/lib/dovecot/libdovecot.so.0
> #28 0x00007f842e6d32b7 in io_loop_handler_run () from /usr/lib/dovecot/libdovecot.so.0
> #29 0x00007f842e6d20c8 in io_loop_run () from /usr/lib/dovecot/libdovecot.so.0
> #30 0x00007f842e682683 in master_service_run () from /usr/lib/dovecot/libdovecot.so.0
> #31 0x000000000040b44f in main ()

config:
> # 2.2.11: /etc/dovecot/dovecot.conf
> # OS: Linux 3.13.8-1-ARCH x86_64 Arch Linux 
> auth_mechanisms = plain login
> auth_username_format = %Ln
> login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
> mail_location = mdbox:~/.mdbox
> mail_plugins = " zlib notify mail_log"
> mailbox_list_index = 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
> namespace inbox {
>   hidden = no
>   inbox = yes
>   list = yes
>   location = 
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   prefix = 
>   separator = .
>   type = private
> }
> passdb {
>   driver = pam
> }
> plugin {
>   mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
>   mail_log_fields = uid box msgid size
>   sieve = ~/.dovecot.sieve
>   sieve_dir = ~/.sieve
>   sieve_global_dir = /etc/dovecot/sieve/global/
>   sieve_global_path = /etc/dovecot/sieve/default.sieve
>   zlib_save = gz
>   zlib_save_level = 6
> }
> protocols = imap pop3 sieve lmtp
> service auth {
>   unix_listener auth-client {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
>   user = root
> }
> service imap-login {
>   process_limit = 400
>   process_min_avail = 5
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve-obsolete {
>     port = 2000
>   }
> }
> ssl_cert = </etc/ssl/my-certs/mail.pem
> ssl_cipher_list = DHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-ECDSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:DHE-ECDSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES256-SHA256:DHE-ECDSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:EDH-RSA-DES-CBC3-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ALL:!LOW:!SSLv2:!EXP:!aNULL
> ssl_key = </etc/ssl/private/server.key
> userdb {
>   driver = passwd
> }
> protocol imap {
>   imap_client_workarounds = tb-extra-mailbox-sep
>   mail_max_userip_connections = 30
>   mail_plugins = " zlib notify mail_log"
> }
> protocol lda {
>   mail_plugins = " zlib notify mail_log sieve"
>   postmaster_address = postmaster at server-speed.net
> }
> protocol lmtp {
>   mail_plugins = " zlib notify mail_log sieve"
>   postmaster_address = postmaster at server-speed.net
> }
> protocol sieve {
>   managesieve_logout_format = bytes ( in=%i : out=%o )
> }

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20140414/61b39bf7/attachment-0001.sig>


More information about the dovecot mailing list