Gary Stanley
2016-Feb-11 18:53 UTC
[BUG] Dovecot 2.2.21 crashing with assertion failed: (!have_wait_unfinished || unfinished_count > 0)
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 = postmaster at example.com
}
1 18:23:54 gw-ud3 dovecot: imap(xxxx at 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(xxxx at 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(xxxx at 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.
Timo Sirainen
2016-Feb-11 20:46 UTC
[BUG] Dovecot 2.2.21 crashing with assertion failed: (!have_wait_unfinished || unfinished_count > 0)
> On 11 Feb 2016, at 20:53, Gary Stanley <gary at cpanel.net> wrote: > > 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.https://github.com/dovecot/core/commit/759a60c896270a74ef4a94ad348fe3722f183608.diff is still missing at least. I'm not sure if there was one more.
Gary Stanley
2016-Feb-12 00:28 UTC
[BUG] Dovecot 2.2.21 crashing with assertion failed: (!have_wait_unfinished || unfinished_count > 0)
On 2/11/16 3:46 PM, Timo Sirainen wrote:>> On 11 Feb 2016, at 20:53, Gary Stanley <gary at cpanel.net> wrote: >> >> 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. > https://github.com/dovecot/core/commit/759a60c896270a74ef4a94ad348fe3722f183608.diff is still missing at least. I'm not sure if there was one more.To clarify, You want me to add that patch on top of the others ones?
Apparently Analagous Threads
- [BUG] 2.2.21 Panic: file imap-client.c: line 841 (client_check_command_hangs): assertion failed: (!have_wait_unfinished || unfinished_count > 0)
- [BUG] 2.2.21 Panic: file imap-client.c: line 841 (client_check_command_hangs): assertion failed: (!have_wait_unfinished || unfinished_count > 0)
- segfaults with Dovecot 2.2.21
- segfaults with Dovecot 2.2.21
- segfaults with Dovecot 2.2.21