On 16 May 2015, at 09:39, Xin Li
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Hi,
On 5/15/15 10:58, Xin Li wrote:
Hi,
I have seen the following assertion fails on my own mail server (indexer-worker):
Panic: file charset-iconv.c: line 132 (charset_to_utf8): assertion failed: (*src_size - pos <= CHARSET_MAX_PENDING_BUF_SIZE)
I've managed to narrow down the issue to one mail, and can reliably trigger the assertion with 'doveadm index -u user INBOX' with only that email.
Can you send me some mail that triggers the crash? I'm having trouble reproducing.
Maybe we should reset the iconv descriptor after each full conversion? i.e.:
diff -r 91bbd6753689 src/lib-mail/message-decoder.c - --- a/src/lib-mail/message-decoder.c Thu May 14 23:49:12 2015 +0300 +++ b/src/lib-mail/message-decoder.c Fri May 15 22:52:41 2015 -0700 @@ -347,6 +347,8 @@ sizeof(ctx->translation_buf)); memcpy(ctx->translation_buf, data + pos, ctx->translation_size); + } else { + charset_to_utf8_reset(ctx->charset_trans); }
I think the fix probably belongs to charset-iconv.c