I've now enabled error logging to a separate log file and see this on today's occurrence:
dovecot: Jul 08 09:42:39 Error: IMAP(mortal): Next message unexpectedly lost from 41838245 dovecot: Jul 08 09:42:39 Error: IMAP(mortal): Next message unexpectedly lost from 41838245 dovecot: Jul 08 09:42:39 Panic: IMAP(mortal): file message-parser.c: line 770 (message_parser_parse_next_block): assertion failed: (ctx->input->eof || ctx->input->closed || ctx->input->stream_errno != 0 || ctx->broken) dovecot: Jul 08 09:42:39 Error: IMAP(mortal): Raw backtrace: imap [0x80cfc80] -> imap [0x80cfcda] -> imap [0x80cf57c] -> imap(message_parser_parse_body+0) [0x80c8e00] -> imap(index_mail_cache_parse_continue+0x22) [0x8094102] -> imap [0x807cd81] -> imap(mbox_save_continue+0x38) [0x807ce28] -> imap(mail_storage_copy+0xe4) [0x809e5e4] -> imap(cmd_copy+0x1d2) [0x805b252] -> imap(cmd_uid+0x59) [0x805f4e9] -> imap [0x805fe8c] -> imap [0x805ff35] -> imap [0x80606f5] -> imap(client_input+0x5e) [0x806090e] -> imap(io_loop_handler_run+0x100) [0x80d75d0] -> imap(io_loop_run+0x28) [0x80d6748] -> imap(main+0x4ac) [0x806845c] -> /lib/libc.so.6(__libc_start_main+0xdc) [0xc2edec] -> imap [0x805a271] dovecot: Jul 08 09:42:39 Error: child 31406 (imap) killed with signal 6