I’m seeing core dumps from Dovecot’s imap process (around 1/day currently) from client_check_command_hangs().
Dovecot 2.2.24 OS: Solaris 10 CPU: x86 Filesystem: Local ZFS Most crashes are associated with one user (with 25GB of mail in his mailboxes) but some (two) are also associated with other user with “just” 10GB mail. Please find enclosed various log files/traces. Let me know if there is something else I might be able to provide that might give more insight into this. The output is from one of the “25GB”-user crashes. He is able to access mail normally most of the time though so the client recovers and he hasn’t reported this issue to us. — [Lı.U] SysAdmin KITVS-IFM & ITI-NET IT.LiU.SE +46-13-28 2786
-rw------- 1 root root 14975384 Jun 3 05:48 imap.22286.730 -rw------- 1 root root 28258768 Jun 2 21:37 imap.2840.730 -rw------- 1 root root 19853720 Jun 2 05:45 imap.17852.730 -rw------- 1 root root 14061984 Jun 2 00:08 imap.22468.1248 -rw------- 1 root root 19440024 Jun 1 12:13 imap.19658.730 -rw------- 1 root root 11850088 May 28 19:53 imap.4417.1248 -rw------- 1 root root 19722648 May 28 13:45 imap.4085.730 -rw------- 1 root root 20713880 May 28 09:38 imap.5978.730 -rw------- 1 root root 40432080 May 27 17:03 imap.14468.730 -rw------- 1 root root 15008152 May 26 08:18 imap.14592.730 -rw------- 1 root root 35308096 May 25 20:20 imap.11696.730
(dbx) where [1] __lwp_kill(0x1, 0x6, 0xfffffe88d2d96ac0, 0xfffffd7ffeb827be, 0x4b, 0x0), at 0xfffffd7ffeb81eca [2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeb7a7d3 [3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeb26fe9 [4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeb05f60 =>[5] default_fatal_finish(type = LOG_TYPE_PANIC, status = 0), line 201 in "failures.c" [6] i_internal_fatal_handler(ctx = 0xfffffd7fffdff9e8, format = 0x491710 "file %s: line %d: assertion failed: (%s)", args = 0xfffffd7fffdff9d0), line 670 in "failures.c" [7] i_panic(format = 0x491710 "file %s: line %d: assertion failed: (%s)", ... = 0x45d783, ...), line 275 in "failures.c" [8] client_check_command_hangs(client = 0x4d1650), line 828 in "imap-client.c" [9] client_continue_pending_input(client = 0x4d1650), line 897 in "imap-client.c" [10] client_output(client = 0x4d1650), line 1213 in "imap-client.c" [11] stream_send_io(fstream = 0x4c9460), line 482 in "ostream-file.c" [12] io_loop_call_io(io = 0x5c64d0), line 564 in "ioloop.c" [13] io_loop_handler_run_internal(ioloop = 0x4b3d20), line 211 in "ioloop-poll.c" [14] io_loop_handler_run(ioloop = 0x4b3d20), line 612 in "ioloop.c" [15] io_loop_run(ioloop = 0x4b3d20), line 588 in "ioloop.c" [16] master_service_run(service = 0x4b23e0, callback = 0x482590 = &`imap`main.c`client_connected(struct master_service_connection *conn)), line 640 in "master-service.c" [17] main(argc = 1, argv = 0xfffffd7fffdffcb8), line 460 in "main.c" (dbx) frame 8 Current function is client_check_command_hangs 828 i_assert(client->io != NULL); (dbx) print *client *client = { prev = (nil) next = (nil) v = { state_export = 0x4795a0 = &imap_state_export_base() state_import = 0x47b880 = &imap_state_import_base() destroy = 0x45ba50 = &`imap`imap-client.c`client_default_destroy(struct client *client, const char *reason) } session_id = 0x4d17f8 "M0DilFc04spQ2Cr8" userdb_fields = 0x4d1a20 fd_in = 7 fd_out = 7 io = (nil) input = 0x4c9320 output = 0x4c94f0 to_idle = 0x4c95a0 to_idle_output = 0x54c470 to_delayed_input = (nil) pool = 0x4d1630 service_user = 0x4be1c0 set = 0x4bee38 lda_set = 0x4beec8 capability_string = 0x4d1870 user = 0x4c9f10 mailbox = 0x4d4680 keywords = { names = 0x506118 announce_count = 10U } sync_counter = 131U messages_count = 1989U recent_count = 2U uidvalidity = 1183546861U enabled_features = MAILBOX_FEATURE_CONDSTORE last_input = 1464925732 last_output = 1464925732 bad_counter = 0 free_parser = (nil) command_pool = 0x4d1e40 command_queue = 0x5c7620 command_queue_size = 3U sync_last_full_modseq = 642109U highest_fetch_modseq = 642130U fetch_hdr_count = 2195U fetch_body_count = 854U fetch_hdr_bytes = 1673864U fetch_body_bytes = 46240644U deleted_count = 0 expunged_count = 0 trashed_count = 0 search_saved_uidset = { arr = { buffer = (nil) element_size = 0 } v = (nil) v_modifiable = (nil) } search_updates = { arr = { buffer = (nil) element_size = 0 } v = (nil) v_modifiable = (nil) } notify_ctx = (nil) notify_uidnext = 214266U input_lock = 0x5c7620 output_cmd_lock = 0x5c6db0 mailbox_change_lock = (nil) urlauth_ctx = (nil) module_contexts = { arr = { buffer = 0x4d1810 element_size = 8U } v = 0x4d1810 v_modifiable = 0x4d1810 } sync_seen_deletes = 0 disconnected = 0 destroyed = 0 handling_input = 0 syncing = 0 id_logged = 1U mailbox_examined = 0 anvil_sent = 1U tls_compression = 0 input_skip_line = 1U modseqs_sent_since_sync = 0 notify_immediate_expunges = 0 notify_count_changes = 1U notify_flag_changes = 1U imap_metadata_enabled = 0 nonpermanent_modseqs = 0 state_import_bad_idle_done = 0 state_import_idle_continue = 0 } (dbx)
# 2.2.24 (a82c823): /ifm/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.14 (099a97c) # OS: SunOS 5.10 i86pc auth_debug = yes auth_gssapi_hostname = mail.ifm.liu.se auth_krb5_keytab = /ifm/etc/dovecot/krb5.keytab auth_mechanisms = plain login gssapi gss-spnego auth_verbose = yes auth_worker_max_count = 100 base_dir = /var/run/dovecot/ default_process_limit = 2048 default_vsz_limit = 1 G first_valid_uid = 100 login_greeting = Welcome to the IFM Dovecot Mail Server. login_plaintext_networks = 130.236.160.0/20 mail_location = maildir:Maildir 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 index ihave duplicate mime foreverypart extracttext namespace { inbox = yes location = prefix = separator = / type = private } namespace { hidden = yes list = no location = prefix = mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = Mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~/mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~/Mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~%u/mail/ separator = / type = private } namespace { hidden = yes list = no location = prefix = ~%u/Mail/ separator = / type = private } passdb { driver = pam } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap lmtp service anvil { client_limit = 8192 } service auth { client_limit = 10240 } service imap { process_limit = 2048 } ssl_cert = </ifm/etc/certs/dovecot.cert.pem ssl_key = </ifm/etc/certs/dovecot.key.pem ssl_protocols = !SSLv2 !SSLv3 userdb { driver = passwd } protocol imap { mail_max_userip_connections = 64 }
core 'imap.22286.730' of 22286: dovecot/imap fffffd7ffeb81eca _lwp_kill () + a fffffd7ffeb26fe9 raise () + 19 fffffd7ffeb05f60 abort () + 90 fffffd7ffed92d4f default_fatal_finish () + bf fffffd7ffed948be i_internal_fatal_handler () + 5e fffffd7ffed93134 i_panic () + f4 000000000045d783 client_check_command_hangs () + 93 000000000045daf5 client_continue_pending_input () + 105 000000000045ec0e client_output () + 17e fffffd7ffede6d1b stream_send_io () + 8b fffffd7ffedc6628 io_loop_call_io () + e8 fffffd7ffedc99e6 io_loop_handler_run_internal () + 2f6 fffffd7ffedc68b8 io_loop_handler_run () + 28 fffffd7ffedc679b io_loop_run () + fb fffffd7ffecb6261 master_service_run () + 31 0000000000482af7 main () + 4a7 000000000042834b ???????? ()