Coredump v2.3.8 specific msg fetch, corrupted record in index cache, Broken physical size
Hi, i'm getting a coredump on a specific msg, i've attached the gdb.
file on disk i noticed W=<vsize> is missing. 1571209735.M744550P1608.rwvirtual65,S=15886:2,S
Best regards,
mail.log Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Mailbox INBOX.Debug: UID=1041: read(/data/mail/ company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) (read reason=mail stream) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/ johndoe@company.nl/.Debug/dovecot.index.cache: UID 1041: Broken physical size in mailbox INBOX.Debug: read(/data/mail/ company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Panic: file istream.c: line 315 (i_stream_read_memarea): assertion failed: (old_size <= _stream->pos - _stream->skip) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xe5c31) [0x7f5237d8cc31] -> /usr/lib/dovecot/libdovecot.so.0(+0xe5cd1) [0x7f5237d8ccd1] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f5237ce4103] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_memarea+0x300) [0x7f5237d9abd0] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x35) [0x7f5237d9aca5] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f5237d9b64d] -> /usr/lib/dovecot/libdovecot.so.0(+0xc4da1) [0x7f5237d6bda1] -> /usr/lib/dovecot/libdovecot.so.0(+0xc5d4b) [0x7f5237d6cd4b] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x65) [0x7f5237d6da05] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_body+0x31) [0x7f5237d6dcf1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xc19d4) [0x7f52381099d4] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_init_stream+0x3aa) [0x7f5238109e9a] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x74b25) [0x7f52380bcb25] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_get_stream_because+0x70) [0x7f52380833a0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x748d7) [0x7f52380bc8d7] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_get_virtual_size+0x44) [0x7f5238082ea4] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425f523] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425d759] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425eb99] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6424ef32] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425bb0c] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f64259b72] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f64259c04] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425a025] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425a6c2] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x75) [0x7f5237da6845] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x11b) [0x7f5237da825b] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x59) [0x7f5237da6959] Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Fatal: master: service(imap): child 15868 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
Hi,
maildir_broken_filename_sizes = yes Does prevent the crash coredump
On Fri, Oct 18, 2019 at 3:36 PM Erik de Waard erikdewaard@gmail.com wrote:
Hi, i'm getting a coredump on a specific msg, i've attached the gdb.
file on disk i noticed W=<vsize> is missing. 1571209735.M744550P1608.rwvirtual65,S=15886:2,S
Best regards,
mail.log Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Mailbox INBOX.Debug: UID=1041: read(/data/mail/ company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) (read reason=mail stream) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/ johndoe@company.nl/.Debug/dovecot.index.cache: UID 1041: Broken physical size in mailbox INBOX.Debug: read(/data/mail/ company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Panic: file istream.c: line 315 (i_stream_read_memarea): assertion failed: (old_size <= _stream->pos - _stream->skip) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xe5c31) [0x7f5237d8cc31] -> /usr/lib/dovecot/libdovecot.so.0(+0xe5cd1) [0x7f5237d8ccd1] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f5237ce4103] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_memarea+0x300) [0x7f5237d9abd0] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read+0x35) [0x7f5237d9aca5] -> /usr/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f5237d9b64d] -> /usr/lib/dovecot/libdovecot.so.0(+0xc4da1) [0x7f5237d6bda1] -> /usr/lib/dovecot/libdovecot.so.0(+0xc5d4b) [0x7f5237d6cd4b] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_next_block+0x65) [0x7f5237d6da05] -> /usr/lib/dovecot/libdovecot.so.0(message_parser_parse_body+0x31) [0x7f5237d6dcf1] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0xc19d4) [0x7f52381099d4] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_mail_init_stream+0x3aa) [0x7f5238109e9a] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x74b25) [0x7f52380bcb25] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_get_stream_because+0x70) [0x7f52380833a0] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x748d7) [0x7f52380bc8d7] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_get_virtual_size+0x44) [0x7f5238082ea4] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425f523] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425d759] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425eb99] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6424ef32] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425bb0c] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f64259b72] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f64259c04] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425a025] -> dovecot/imap johndoe@company.nl 10.0.10.36 FETCH [0x561f6425a6c2] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x75) [0x7f5237da6845] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x11b) [0x7f5237da825b] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x59) [0x7f5237da6959] Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Fatal: master: service(imap): child 15868 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)
On 18 Oct 2019, at 15.36, Erik de Waard via dovecot dovecot@dovecot.org wrote:
Hi, i'm getting a coredump on a specific msg, i've attached the gdb.
file on disk i noticed W=<vsize> is missing. 1571209735.M744550P1608.rwvirtual65,S=15886:2,S
..
mail.log Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl mailto:johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Mailbox INBOX.Debug: UID=1041: read(/data/mail/company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S http://company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.r...) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) (read reason=mail stream) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl mailto:johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/johndoe@company.nl/.Debug/dovecot.index.cache http://johndoe@company.nl/.Debug/dovecot.index.cache: UID 1041: Broken physical size in mailbox INBOX.Debug: read(/data/mail/company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.rwvirtual65,S=15886:2,S http://company.nl/users/johndoe/Maildir/.Debug/cur/1571209735.M744550P1608.r...) failed: Cached message size smaller than expected (15886 < 16367, box=INBOX.Debug, UID=1041) Oct 18 14:41:39 rwvirtual10 dovecot: imap(johndoe@company.nl mailto:johndoe@company.nl)<15868><qjTFpy6VPsMKAAok>: Panic: file istream.c: line 315 (i_stream_read_memarea): assertion failed: (old_size <= _stream->pos - _stream->skip)
The missing W shouldn't matter, but the S size is wrong. So the error is expected, but the panic isn't. I tried to reproduce this, but I couldn't get the panic to happen. Do you still have the file? Could you send it to me? You can also put it through https://dovecot.org/tools/maildir-obfuscate.pl which should remove all sensitive content but hopefully still contain enough to reproduce the bug.
participants (2)
-
Erik de Waard
-
Timo Sirainen