Panic on service(imap) during FETCH/APPEND some messages
Alessio Cecchi
alessio at skye.it
Wed Jun 2 20:21:58 EEST 2021
Hi,
I have captured a first core dump:
Jun 02 19:02:37 Panic: imap(user3 at email.com) session=<w9aiAcvDmtIlnx0R>:
file index-mail-headers.c: line 198 (index_mail_parse_header_init):
assertion failed: (!mail->data.header_parser_initialized)
Jun 02 19:02:37 Error: imap(user3 at email.com) session=<w9aiAcvDmtIlnx0R>:
Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(backtrace_append+0x42)
[0x7f8a36238ac2] ->
/usr/lib64/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7f8a36238bce]
-> /usr/lib64/dovecot/libdovecot.so.0(+0xf3cde) [0x7f8a36245cde] ->
/usr/lib64/dovecot/libdovecot.so.0(+0xf3d81) [0x7f8a36245d81] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8a3619725a] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_parse_header_init+0x3b9)
[0x7f8a365c6dc9] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_parse_headers_internal+0x2b)
[0x7f8a365c77eb] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_init_stream+0x19f)
[0x7f8a365cab9f] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x77428)
[0x7f8a36580428] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_stream_because+0x64)
[0x7f8a365485a4] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x77207)
[0x7f8a36580207] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mail_get_virtual_size+0x38)
[0x7f8a36548158] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(maildir_save_finish+0x154)
[0x7f8a36581504] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_save_cancel+0x3e)
[0x7f8a3655739e] -> dovecot/imap [user3 at email.com 45.7629.17
APPEND](+0xf5d2) [0x561344cb55d2] -> dovecot/imap [user3 at email.com
45.7629.17 APPEND](+0x10918) [0x561344cb6918] -> dovecot/imap
[user3 at email.com 45.7629.17 APPEND](command_exec+0x64) [0x561344cc5614]
-> dovecot/imap [user3 at email.com 45.7629.17
APPEND](client_command_cancel+0x49) [0x561344cc2dc9] -> dovecot/imap
[user3 at email.com 45.7629.17 APPEND](+0x1cef4) [0x561344cc2ef4] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0x12b)
[0x7f8a3625dd3b] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xcc)
[0x7f8a3625f89c] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x59)
[0x7f8a3625e049] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38)
[0x7f8a3625e288] ->
/usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13)
[0x7f8a361c8bb3] -> dovecot/imap [user3 at email.com 45.7629.17
APPEND](main+0x342) [0x561344cb5202] ->
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f8a35da6555] ->
dovecot/imap [user3 at email.com 45.7629.17 APPEND](+0xf405) [0x561344cb5405]
Jun 02 19:02:37 Fatal: imap(user3 at email.com) session=<w9aiAcvDmtIlnx0R>:
master: service(imap): child 31649 killed with signal 6 (core dumped)
[root at popimap ~]# gdb /usr/libexec/dovecot/imap /var/core/core.imap.31649
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/libexec/dovecot/imap...Reading symbols from
/usr/lib/debug/usr/libexec/dovecot/imap.debug...done.
done.
[New LWP 31649]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `dovecot/imap [user3 at cs-ins'.
Program terminated with signal 6, Aborted.
#0 0x00007f8a35dba387 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install
bzip2-libs-1.0.6-13.el7.x86_64 expat-2.1.0-12.el7.x86_64
glibc-2.17-324.el7_9.x86_64 libgcc-4.8.5-44.el7.x86_64
libzstd-1.4.9-1.el7.x86_64 xz-libs-5.2.2-1.el7.x86_64
zlib-1.2.7-19.el7_9.x86_64
(gdb) bt full
#0 0x00007f8a35dba387 in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f8a35dbba78 in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x00007f8a36245c97 in default_fatal_finish (status=0,
type=<optimized out>) at failures.c:459
backtrace = 0x5613451213d0
"/usr/lib64/dovecot/libdovecot.so.0(backtrace_append+0x42)
[0x7f8a36238ac2] ->
/usr/lib64/dovecot/libdovecot.so.0(backtrace_get+0x1e) [0x7f8a36238bce]
-> /usr/lib64/dovecot/libdovecot.so.0(+0xf3cde) [0"...
recursed = 0
#3 fatal_handler_real (ctx=<optimized out>, format=<optimized out>,
args=<optimized out>) at failures.c:471
status = 0
#4 0x00007f8a36245d81 in i_internal_fatal_handler (ctx=<optimized out>,
format=<optimized out>, args=<optimized out>)
at failures.c:866
No locals.
#5 0x00007f8a3619725a in i_panic (format=format at entry=0x7f8a3660dd20
"file %s: line %d (%s): assertion failed: (%s)")
at failures.c:523
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0,
timestamp_usecs = 0, log_prefix = 0x0,
log_prefix_type_pos = 0}
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area =
0x7ffd6e029ce0, reg_save_area = 0x7ffd6e029c20}}
#6 0x00007f8a365c6dc9 in index_mail_parse_header_init
(mail=mail at entry=0x56134519fc58, headers=headers at entry=0x0)
at index-mail-headers.c:198
data = 0x56134519fde8
match = <optimized out>
i = <optimized out>
field_idx = <optimized out>
match_count = <optimized out>
__func__ = "index_mail_parse_header_init"
#7 0x00007f8a365c77eb in index_mail_parse_headers_internal
(mail=mail at entry=0x56134519fc58, headers=headers at entry=0x0)
at index-mail-headers.c:448
data = 0x56134519fde8
__func__ = "index_mail_parse_headers_internal"
#8 0x00007f8a365cab9f in index_mail_init_stream
(mail=mail at entry=0x56134519fc58, hdr_size=hdr_size at entry=0x7ffd6e029e90,
body_size=body_size at entry=0x7ffd6e029eb0,
stream_r=stream_r at entry=0x7ffd6e029e88) at index-mail.c:1352
_mail = 0x56134519fc58
data = 0x56134519fde8
input = <optimized out>
has_nuls = false
body_size_from_stream = false
ret = <optimized out>
want_attachment_kw = true
#9 0x00007f8a36580428 in maildir_mail_get_stream (_mail=0x56134519fc58,
get_body=<optimized out>, hdr_size=0x7ffd6e029e90,
body_size=0x7ffd6e029eb0, stream_r=0x7ffd6e029e88) at
maildir-mail.c:622
mail = 0x56134519fc58
---Type <return> to continue, or q <return> to quit---
mbox = <optimized out>
data = 0x56134519fde8
deleted = <optimized out>
#10 0x00007f8a365485a4 in mail_get_stream_because
(mail=mail at entry=0x56134519fc58, hdr_size=hdr_size at entry=0x7ffd6e029e90,
body_size=body_size at entry=0x7ffd6e029eb0,
reason=reason at entry=0x7f8a3660dc43 "mail stream",
stream_r=stream_r at entry=0x7ffd6e029e88) at mail.c:282
_data_stack_cur_id = 7
p = 0x56134519fc58
ret = <optimized out>
__func__ = "mail_get_stream_because"
#11 0x00007f8a3654864f in mail_get_stream
(mail=mail at entry=0x56134519fc58, hdr_size=hdr_size at entry=0x7ffd6e029e90,
body_size=body_size at entry=0x7ffd6e029eb0,
stream_r=stream_r at entry=0x7ffd6e029e88) at mail.c:265
No locals.
#12 0x00007f8a36580207 in maildir_mail_get_virtual_size
(_mail=0x56134519fc58, size_r=0x5613451a4c40) at maildir-mail.c:413
mbox = <optimized out>
mail = 0x56134519fc58
data = 0x56134519fde8
hdr_size = {physical_size = 94640763388200, virtual_size =
94640763713152, lines = 1159209968}
body_size = {physical_size = 94640763713152, virtual_size =
94640763713152, lines = 1159020840}
input = 0x56134515c528
old_offset = 0
__func__ = "maildir_mail_get_virtual_size"
#13 0x00007f8a36548158 in mail_get_virtual_size (mail=0x56134519fc58,
size_r=0x5613451a4c40) at mail.c:176
_data_stack_cur_id = 6
p = 0x56134519fc58
ret = <optimized out>
#14 0x00007f8a36581504 in maildir_save_finish_real (_ctx=0x5613451a4a08)
at maildir-save.c:563
ctx = 0x5613451a4a08
storage = 0x56134515c528
output_errno = <optimized out>
path = 0x561345121038
"/home/vmail/nas00/domains/I/email.com/user3/Maildir/.Sent/tmp/1622651557.M210317P31649.popimap.mailserver.net"
output_errstr = <optimized out>
real_size = <optimized out>
size = 0
#15 maildir_save_finish (ctx=0x5613451a4a08) at maildir-save.c:634
_data_stack_cur_id = 5
#16 0x00007f8a3655739e in mailbox_save_cancel (_ctx=<optimized out>) at
mail-storage.c:2683
ctx = <optimized out>
#17 0x0000561344cb55d2 in cmd_append_finish
(ctx=ctx at entry=0x561345159540) at cmd-append.c:144
__func__ = "cmd_append_finish"
#18 0x0000561344cb6918 in cmd_append_continue_message
(cmd=0x5613451593a8) at cmd-append.c:886
---Type <return> to continue, or q <return> to quit---
lit_offset = <optimized out>
client = 0x561345154128
ctx = 0x561345159540
ret = <optimized out>
#19 0x0000561344cc5614 in command_exec (cmd=0x5613451593a8) at
imap-commands.c:201
hook = 0x56134512c630
finished = <optimized out>
__func__ = "command_exec"
#20 0x0000561344cc2dc9 in client_command_cancel
(_cmd=_cmd at entry=0x7ffd6e02a0c0) at imap-client.c:267
cmd = 0x5613451593a8
cmd_ret = <optimized out>
#21 0x0000561344cc2ef4 in client_default_destroy (client=0x561345154128,
reason=0x561344cd9470 "Disconnected for inactivity")
at imap-client.c:455
cmd = 0x5613451593a8
__func__ = "client_default_destroy"
#22 0x00007f8a3625dd3b in io_loop_handle_timeouts_real
(ioloop=0x56134512a030) at ioloop.c:681
timeout = 0x561345159300
tv_old = {tv_sec = 1622651562, tv_usec = 154561}
tv = {tv_sec = 0, tv_usec = 0}
tv_call = {tv_sec = 1622653357, tv_usec = 246247}
t_id = 3
item = 0x561345159300
diff_usecs = <optimized out>
#23 io_loop_handle_timeouts (ioloop=ioloop at entry=0x56134512a030) at
ioloop.c:695
_data_stack_cur_id = 2
#24 0x00007f8a3625f89c in io_loop_handler_run_internal
(ioloop=ioloop at entry=0x56134512a030) at ioloop-epoll.c:195
ctx = 0x56134512acb0
events = <optimized out>
list = <optimized out>
io = <optimized out>
tv = {tv_sec = 1795, tv_usec = 60554}
events_count = 7
msecs = 1795061
ret = 0
i = <optimized out>
call = <optimized out>
__func__ = "io_loop_handler_run_internal"
#25 0x00007f8a3625e049 in io_loop_handler_run
(ioloop=ioloop at entry=0x56134512a030) at ioloop.c:766
__func__ = "io_loop_handler_run"
#26 0x00007f8a3625e288 in io_loop_run (ioloop=0x56134512a030) at
ioloop.c:739
__func__ = "io_loop_run"
#27 0x00007f8a361c8bb3 in master_service_run (service=0x561345129e90,
callback=callback at entry=0x561344cd2220 <client_connected>)
---Type <return> to continue, or q <return> to quit---
at master-service.c:853
No locals.
#28 0x0000561344cb5202 in main (argc=2, argv=0x561345129b90) at main.c:546
set_roots = {0x7f8a364fd0c0 <smtp_submit_setting_parser_info>,
0x561344ee45e0 <imap_setting_parser_info>, 0x0}
login_set = {
auth_socket_path = 0x5613451214d8 "0x7f8a36245d81] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8a3619725a] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_parse_header_init+0x3b9)
[0x7f8a365c6dc9] -> /usr/lib64/dovec"...,
postlogin_socket_path = 0x561345121508 ".so.0(i_fatal+0)
[0x7f8a3619725a] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_parse_header_init+0x3b9)
[0x7f8a365c6dc9] ->
/usr/lib64/dovecot/libdovecot-storage.so.0(index_mail_parse_head"...,
postlogin_timeout_secs = 60, callback = 0x561344cd2c20
<login_client_connected>,
failure_callback = 0x561344cd2330 <login_client_failed>,
request_auth_token = true}
service_flags = <optimized out>
storage_service_flags = <optimized out>
username = 0x0
auth_socket_path = <optimized out>
c = <optimized out>
error = 0x38000000380 <Address 0x38000000380 out of bounds>
(gdb)
Il 01/06/21 07:24, Aki Tuomi ha scritto:
> Hi!
>
> Any chance you could collect coredumps for these and posting output of
>
> gdb /usr/lib/dovecot/imap /path/to/core
> bt full
>
> systemd-coredump can be used for this, and https://www.dovecot.org/bugreport-mail contains hints how to get core dumps otherwise.
>
> Aki
>
>> On 31/05/2021 23:32 Alessio Cecchi <alessio at skye.it> wrote:
>>
>>
>> Hi,
>>
>> when I check "doveadm log errors" I found some fatal error repeated many
>> times by around the same users
>>
> <snip/>
>
>
>> Are already know bugs?
>>
>> Thanks
>>
>> --
>> Alessio Cecchi
>> Postmaster @ http://www.qboxmail.it
>> https://www.linkedin.com/in/alessice
--
Alessio Cecchi
Postmaster @ http://www.qboxmail.it
https://www.linkedin.com/in/alessice
More information about the dovecot
mailing list