Hello

Dovecot's IMAP process appears to be crashing at random times for a few users, but one is crashing at least 3 to 5 times an hour.

I applied these patches per http://dovecot.org/list/dovecot/2016-January/102933.html

/https://github.com/dovecot/core/commit/1ddf959a750f3860feff4ab3f0e908f32740978f.diff //https://github.com/dovecot/core/commit/c8e9fa2ffa2566e75f0500808b1bc9bf5d9db024.diff //https://github.com/dovecot/core/commit/15307c2c91854e766bd9fb095d611a29b3f7572e.diff //https://github.com/dovecot/core/commit/c7801f830c7d2e7d340065cdd5a5c795b1726223.diff //https://github.com/dovecot/core/commit/f136b0050b3125b466af73984177250b7ed1a3be.diff /

But it's still crashing.

# 2.2.21 (5345f22): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-604.30.3.lve1.3.63.el6.x86_64 x86_64 CloudLinux Server release 6.7 (Aleksei Gubarev)
auth_cache_size = 1 k
auth_mechanisms = plain login
auth_username_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$-=?^_{}~./@+%"
disable_plaintext_auth = no
first_valid_uid = 201
mail_plugins = " zlib"
maildir_very_dirty_syncs = yes
namespace {
  inbox = yes
  location =
  mailbox Archive {
    auto = create
    special_use = \Archive
  }
  mailbox Archives {
    auto = no
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = create
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = INBOX.
  type = private
}
passdb {
  args = /usr/local/cpanel/bin/dovecot-wrap
  driver = checkpassword
}
plugin {
  acl = vfile
  quota = maildir
  quota_rule = INBOX.Trash:ignore
}
protocols = imap pop3
service auth {
  unix_listener auth-client {
    mode = 0666
  }
}
service imap-login {
  client_limit = 500
  inet_listener imap {
    address = *
  }
  inet_listener imaps {
    address = *
  }
  process_limit = 50
  process_min_avail = 2
  service_count = 0
  vsz_limit = 64 M
}
service imap {
  process_limit = 512
  vsz_limit = 256 M
}
service managesieve-login {
  client_limit = 500
  process_limit = 50
  process_min_avail = 2
  service_count = 0
  vsz_limit = 64 M
}
service managesieve {
  process_limit = 512
  vsz_limit = 256 M
}
service pop3-login {
  client_limit = 500
  inet_listener pop3 {
    address = *
  }
  inet_listener pop3s {
    address = *
  }
  process_limit = 50
  process_min_avail = 2
  service_count = 0
  vsz_limit = 64 M
}
service pop3 {
  process_limit = 512
  vsz_limit = 256 M
}
ssl_cert = </etc/dovecot/ssl/dovecot.crt
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_key = </etc/dovecot/ssl/dovecot.key
ssl_protocols = !SSLv2 !SSLv3
userdb {
  driver = prefetch
}
userdb {
  args = /usr/local/cpanel/bin/dovecot-wrap
  driver = checkpassword
}
protocol imap {
  imap_capability = +NAMESPACE
  imap_idle_notify_interval = 24 mins
  imap_logout_format = in=%i, out=%o, bytes=%i/%o
  mail_max_userip_connections = 20
  mail_plugins = acl quota imap_quota imap_zlib
}
protocol pop3 {
  mail_max_userip_connections = 3
  mail_plugins = quota
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, bytes=%i/%o
  pop3_uidl_format = UID%u-%v
}
protocol lda {
  postmaster_address = postmas...@example.com
}


1 18:23:54 gw-ud3 dovecot: imap(x...@xxxx.com): Panic: file imap-client.c: line 849 (client_check_command_hangs): assertion failed: (!have_wait_unfinished || unfinished_count > 0) Feb 11 18:23:54 gw-ud3 dovecot: imap(x...@xxxx.com): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x8096a) [0x7f996c47e96a] -> /usr/lib64/dovecot/libdovecot.so.0(+0x809d6) [0x7f996c47e9d6]$ Feb 11 18:23:55 gw-ud3 dovecot: imap(x...@xxxx.com): Fatal: master: service(imap): child 329519 killed with signal 6 (core dumped)

Here's the backtrace:

(gdb) bt full
#0 0x00007f046eb2e625 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = 98454
        selftid = 98454
#1  0x00007f046eb2fe05 in abort () at abort.c:92
        save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x2, sa_sigaction = 0x2}, sa_mask = {__val = {139657018134932, 1, 18488448, 0, 139657017886537, 139657017552035, 139657017530872, 206158430224, 140725557583888, 140725557583680, 4362456, 140725557583788, 18440536, 0, 0, 6717455502603727992}}, sa_flags = 1635021663, sa_restorer = 0x7ffd38dee060}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f046ef10a60 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:201 backtrace = 0x1196158 "/usr/lib64/dovecot/libdovecot.so.0(+0x80a6a) [0x7f046ef10a6a] -> /usr/lib64/dovecot/libdovecot.so.0(+0x80ad6) [0x7f046ef10ad6] -> /usr/lib64/dovecot/libdovecot.so.0(i_error+0) [0x7f046eeb994f] -> dove"... #3 0x00007f046ef10ad6 in i_internal_fatal_handler (ctx=0x7ffd38dee080, format=<value optimized out>, args=<value optimized out>) at failures.c:670
        status = 0
#4 0x00007f046eeb994f in i_panic (format=0x18096 <Address 0x18096 out of bounds>) at failures.c:275 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0, timestamp_usecs = 0} args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffd38dee160, reg_save_area = 0x7ffd38dee0a0}}
#5  0x0000000000418247 in client_continue_pending_input ()
No symbol table info available.
#6  0x00007f046ef22fdb in io_loop_call_io (io=0x11c5860) at ioloop.c:559
        ioloop = 0x119e740
        t_id = 2
        __FUNCTION__ = "io_loop_call_io"
#7 0x00007f046ef24577 in io_loop_handler_run_internal (ioloop=<value optimized out>) at ioloop-epoll.c:220
        ctx = 0x11a0250
        events = <value optimized out>
        event = 0x11a10c0
        list = 0x11a1c80
        io = <value optimized out>
        tv = {tv_sec = 29, tv_usec = 999480}
        events_count = <value optimized out>
        msecs = <value optimized out>
        ret = 1
        i = <value optimized out>
        call = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        __FUNCTION__ = "io_loop_handler_run_internal"
#8 0x00007f046ef23085 in io_loop_handler_run (ioloop=0x119e740) at ioloop.c:607
No locals.
#9  0x00007f046ef23228 in io_loop_run (ioloop=0x119e740) at ioloop.c:583
        __FUNCTION__ = "io_loop_run"
#10 0x00007f046eebeca3 in master_service_run (service=0x119e5e0, callback=<value optimized out>) at master-service.c:640
No locals.
#11 0x0000000000424c5c in main ()
No symbol table info available.

Reply via email to