Coredump v2.3.8 specific msg fetch, corrupted record in index cache, Broken physical size

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Coredump v2.3.8 specific msg fetch, corrupted record in index cache, Broken physical size

Dovecot mailing list
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([hidden email])<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([hidden email])<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/johndoe@.../.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([hidden email])<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([hidden email])<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 [[hidden email] 10.0.10.36 FETCH](+0x21523) [0x561f6425f523] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1f759) [0x561f6425d759] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](imap_fetch_more+0x39) [0x561f6425eb99] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](cmd_fetch+0x342) [0x561f6424ef32] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](command_exec+0x7c) [0x561f6425bb0c] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1bb72) [0x561f64259b72] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1bc04) [0x561f64259c04] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](client_handle_input+0x1a5) [0x561f6425a025] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](client_input+0x82) [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([hidden email])<15868><qjTFpy6VPsMKAAok>: Fatal: master: service(imap): child 15868 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)



doveconf.txt (3K) Download Attachment
gdb (19K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Coredump v2.3.8 specific msg fetch, corrupted record in index cache, Broken physical size

Dovecot mailing list
Hi,

maildir_broken_filename_sizes = yes
Does prevent the crash coredump

On Fri, Oct 18, 2019 at 3:36 PM Erik de Waard <[hidden email]> 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([hidden email])<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([hidden email])<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/johndoe@.../.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([hidden email])<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([hidden email])<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 [[hidden email] 10.0.10.36 FETCH](+0x21523) [0x561f6425f523] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1f759) [0x561f6425d759] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](imap_fetch_more+0x39) [0x561f6425eb99] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](cmd_fetch+0x342) [0x561f6424ef32] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](command_exec+0x7c) [0x561f6425bb0c] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1bb72) [0x561f64259b72] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](+0x1bc04) [0x561f64259c04] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](client_handle_input+0x1a5) [0x561f6425a025] -> dovecot/imap [[hidden email] 10.0.10.36 FETCH](client_input+0x82) [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([hidden email])<15868><qjTFpy6VPsMKAAok>: Fatal: master: service(imap): child 15868 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)


Reply | Threaded
Open this post in threaded view
|

Re: Coredump v2.3.8 specific msg fetch, corrupted record in index cache, Broken physical size

Dovecot mailing list
In reply to this post by Dovecot mailing list
On 18 Oct 2019, at 15.36, Erik de Waard via dovecot <[hidden email]> 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([hidden email])<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([hidden email])<15868><qjTFpy6VPsMKAAok>: Error: Corrupted record in index cache file /data/indexes/johndoe@.../.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([hidden email])<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.