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 ???????? ()

Reply via email to