i have a system with panics/crashes and seem to be able to trigger the
problem.
dovecot version: 2.2.33.2 (from ius rpm-package-repository)
maillog:
Dec 14 10:55:00 vimap01 dovecot: imap(XXX): Panic: file index-mail-binary.c:
line 358 (blocks_count_lines): assertion failed: (block_count == 0 ||
block_idx+1 == block_count)
Dec 14 10:55:00 vimap01 dovecot: imap(XXX): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x9f3de)
[0x7fa6768ef3de] -> /usr/lib64/dovecot/libdovecot.so.0(+0x9f4be) [0x7fa6768ef4be] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7fa67688077c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xb50f7)
[0x7fa676c370f7] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_get_binary_stream+0x3c9) [0x7fa676c37569]
-> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_binary_size+0x5b) [0x7fa676bbfa2b] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(imap_msgpart_size+0x80) [0x7fa676c7a340] -> dovecot/imap(+0x207a9)
[0x55b9589327a9] -> dovecot/imap(+0x1e63a) [0x55b95893063a] -> dovecot/imap(imap_fetch_more+0x35) [0x55b958931b45]
-> dovecot/imap(cmd_fetch+0x34d) [0x55b95892336d] -> dovecot/imap(command_exec+0x5c) [0x55b95892ef0c] ->
dovecot/imap(+0x1b48f) [0x55b95892d48f] -> dovecot/imap(+0x1b521) [0x55b95892d521] ->
dovecot/imap(client_handle_input+0x195) [0x55b9589
2d8e5] -> dovecot/imap(client_input+0x85) [0x55b95892de05] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7fa676904cd2] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x10f) [0x7fa6769063bf] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7fa676904d6c] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7fa676904f28] ->
/usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7fa67688afa3] ->
dovecot/imap(main+0x333) [0x55b9589202e3] -> /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fa6764aec05]
-> dovecot/imap(+0xe476) [0x55b958920476]
Dec 14 10:55:00 vimap01 dovecot: imap(XXX): Fatal: master: service(imap): child
5766 killed with signal 6 (core dumped)
gdb backtrace is attached as file
more infos/core-dump-file available if needed.
yours
josef
#0 0x00007fa6764c21f7 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
resultvar = 0
pid = 5766
selftid = 5766
#1 0x00007fa6764c38e8 in __GI_abort () at abort.c:90
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1},
sa_mask = {__val = {1024, 140352925920261, 94254543275126, 0, 140352930371331,
140729204080784, 94254563559328, 513, 13884021430134021376, 140352934095424,
140352930552771, 94254563559328, 140729204080880, 3328, 140352930553113,
94254563559328}},
sa_flags = 1989059466, sa_restorer = 0x7ffe12380101}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007fa6768ef3d6 in default_fatal_finish (type=<optimized out>,
status=status@entry=0) at failures.c:201
backtrace = 0x55b959c787d8
"/usr/lib64/dovecot/libdovecot.so.0(+0x9f3de) [0x7fa6768ef3de] ->
/usr/lib64/dovecot/libdovecot.so.0(+0x9f4be) [0x7fa6768ef4be] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7fa67688077c] -> /usr"...
#3 0x00007fa6768ef4be in i_internal_fatal_handler (ctx=0x7ffe12380140,
format=<optimized out>, args=<optimized out>) at failures.c:670
status = 0
#4 0x00007fa67688077c in i_panic (format=format@entry=0x7fa676c7aa40 "file %s:
line %d (%s): assertion failed: (%s)") 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 =
0x7ffe12380240, reg_save_area = 0x7ffe12380180}}
#5 0x00007fa676c370f7 in blocks_count_lines (full_input=0x55b959cd6510,
ctx=0x7ffe123802c0) at index-mail-binary.c:358
block_idx = 0
p = <optimized out>
size = 0
cur_block_offset = <optimized out>
data = 0x0
ret = <optimized out>
cur_block = 0x55b959c785e0
block_count = 2
skip = <optimized out>
#6 index_mail_read_binary_to_cache (_mail=_mail@entry=0x55b959cc2858,
part=0x55b959cced78, include_hdr=include_hdr@entry=true,
reason=reason@entry=0x7fa676c8cef6 "binary.size",
binary_r=binary_r@entry=0x7ffe1238038e,
converted_r=converted_r@entry=0x7ffe1238038f) at index-mail-binary.c:396
mail = 0x55b959cc2858
cache = 0x55b959c9e138
ctx = {mail = 0x55b959cc2858, input = 0x55b959cc32a0, has_nuls = false,
converted = true, blocks = {arr = {buffer = 0x55b959c785a8, element_size = 24},
v = 0x55b959c785a8, v_modifiable = 0x55b959c785a8}, copy_start_offset = 3424}
is = 0x55b959cd6510
__FUNCTION__ = "index_mail_read_binary_to_cache"
#7 0x00007fa676c37569 in index_mail_get_binary_size (lines_r=<optimized out>,
size_r=0x7ffe12380490, include_hdr=false, part=0x55b959cced78,
_mail=0x55b959cc2858) at index-mail-binary.c:499
root_bin_part = <optimized out>
size = <optimized out>
mail = 0x55b959cc2858
msg_part = <optimized out>
bin_part = <optimized out>
all_parts = 0x55b959cced78
end_offset = <optimized out>
lines = <optimized out>
binary = false
converted = false
#8 index_mail_get_binary_stream (_mail=0x55b959cc2858, part=0x55b959cced78,
include_hdr=<optimized out>, size_r=0x7ffe12380490, lines_r=<optimized out>,
binary_r=<optimized out>, stream_r=0x0) at index-mail-binary.c:559
mail = 0x55b959cc2858
cache = <optimized out>
input = 0x55b959cced78
binary = false
converted = false
__FUNCTION__ = "index_mail_get_binary_stream"
#9 0x00007fa676bbfa2b in mail_get_binary_size (mail=mail@entry=0x55b959cc2858,
part=0x55b959cced78, include_hdr=<optimized out>,
size_r=size_r@entry=0x7ffe12380490, lines_r=lines_r@entry=0x7ffe1238043c) at
mail.c:332
_data_stack_cur_id = 5
p = 0x55b959cc2858
binary = 18
ret = <optimized out>
#10 0x00007fa676c7a340 in imap_msgpart_size (mail=0x55b959cc2858,
msgpart=0x55b959cb5cb8, size_r=size_r@entry=0x7ffe12380490) at
imap-msgpart.c:750
result = {input = 0x55b959cced78, size = 0, size_field =
MAIL_FETCH_FLAGS, binary_decoded_input_has_nuls = false}
part = 0x55b959cced78
include_hdr = <optimized out>
lines = 21945
ret = <optimized out>
#11 0x000055b9589327a9 in fetch_binary_size (ctx=0x55b959c9b0f8,
mail=<optimized out>, body=0x55b959cc1070) at imap-fetch-body.c:212
str = <optimized out>
size = 3
#12 0x000055b95893063a in imap_fetch_more_int (ctx=ctx@entry=0x55b959c9b0f8,
cancel=false) at imap-fetch.c:565
h = <optimized out>
_data_stack_cur_id = 4
state = 0x55b959c9b150
client = 0x55b959c9a3b8
handlers = 0x55b959cc0d00
count = <optimized out>
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more_int"
#13 0x000055b958931b45 in imap_fetch_more (ctx=0x55b959c9b0f8,
cmd=cmd@entry=0x55b959c9af28) at imap-fetch.c:621
ret = <optimized out>
__FUNCTION__ = "imap_fetch_more"
#14 0x000055b95892336d in cmd_fetch (cmd=0x55b959c9af28) at cmd-fetch.c:336
client = 0x55b959c9a3b8
ctx = 0x55b959c9b0f8
args = 0x55b959c86c30
next_arg = <optimized out>
list_arg = 0x1
search_args = 0x0
qresync_args = {qresync_sample_seqset = 0x55b959c78390,
qresync_sample_uidset = 0x270}
messageset = 0x55b959c86da0 "1108"
send_vanished = <optimized out>
ret = <optimized out>
#15 0x000055b95892ef0c in command_exec (cmd=cmd@entry=0x55b959c9af28) at
imap-commands.c:200
hook = 0x55b959c81380
finished = <optimized out>
__FUNCTION__ = "command_exec"
#16 0x000055b95892d48f in client_command_input (cmd=cmd@entry=0x55b959c9af28)
at imap-client.c:1088
client = 0x55b959c9a3b8
command = <optimized out>
__FUNCTION__ = "client_command_input"
#17 0x000055b95892d521 in client_command_input (cmd=0x55b959c9af28) at
imap-client.c:1148
client = 0x55b959c9a3b8
command = <optimized out>
__FUNCTION__ = "client_command_input"
#18 0x000055b95892d8e5 in client_handle_next_command (remove_io_r=<synthetic
pointer>, client=0x55b959c9a3b8) at imap-client.c:1190
No locals.
#19 client_handle_input (client=client@entry=0x55b959c9a3b8) at
imap-client.c:1202
_data_stack_cur_id = 3
remove_io = false
handled_commands = false
__FUNCTION__ = "client_handle_input"
#20 0x000055b95892de05 in client_input (client=0x55b959c9a3b8) at
imap-client.c:1249
cmd = 0xf3a13
output = 0x55b959c9add0
bytes = 51
__FUNCTION__ = "client_input"
#21 0x00007fa676904cd2 in io_loop_call_io (io=0x55b959c94630) at ioloop.c:600
ioloop = 0x55b959c809b0
t_id = 2
__FUNCTION__ = "io_loop_call_io"
#22 0x00007fa6769063bf in io_loop_handler_run_internal
(ioloop=ioloop@entry=0x55b959c809b0) at ioloop-epoll.c:223
ctx = 0x55b959c824d0
events = <optimized out>
list = 0x55b959c94690
io = <optimized out>
tv = {tv_sec = 1799, tv_usec = 999642}
events_count = <optimized out>
msecs = <optimized out>
ret = 1
i = 0
call = <optimized out>
__FUNCTION__ = "io_loop_handler_run_internal"
#23 0x00007fa676904d6c in io_loop_handler_run
(ioloop=ioloop@entry=0x55b959c809b0) at ioloop.c:649
No locals.
#24 0x00007fa676904f28 in io_loop_run (ioloop=0x55b959c809b0) at ioloop.c:624
__FUNCTION__ = "io_loop_run"
#25 0x00007fa67688afa3 in master_service_run (service=0x55b959c80850,
callback=callback@entry=0x55b95893ab10 <client_connected>) at
master-service.c:719
No locals.
#26 0x000055b9589202e3 in main (argc=2, argv=0x55b959c805e0) at main.c:491
set_roots = {0x55b958b4b720 <imap_setting_parser_info>, 0x7fa6770d5580
<lda_setting_parser_info>, 0x0}
login_set = {auth_socket_path = 0x55b959c78048 "\001",
postlogin_socket_path = 0x55b959c78078 "8\200\307Y\271U",
postlogin_timeout_secs = 60, callback = 0x55b95893b2e0
<login_client_connected>, failure_callback = 0x55b95893ac20
<login_client_failed>, request_auth_token = 1}
service_flags = <optimized out>
storage_service_flags = <optimized out>
username = 0x0
auth_socket_path = 0x55b958944054 "auth-master"
c = <optimized out>