Hi, one of my mailboxes returns following error when I run doveadm index on it: Panic: file charset-iconv.c: line 85 (charset_to_utf8_try): assertion failed: (srcleft <= CHARSET_MAX_PENDING_BUF_SIZE) OS: FreeBSD 10.2 Dovecot: 2.1.19 Tika: 1.10 SOLR: 5.3.1 Running doveadm -D index does not show any more information indicating what causes this error (mail/folder/...) How I can find what is causing this error? Rgds, N.
On 05 Oct 2015, at 22:05, Nick Rosier <nick+dovecot at bunbun.be> wrote:> > Hi, > > one of my mailboxes returns following error when I run doveadm index on it: > > Panic: file charset-iconv.c: line 85 (charset_to_utf8_try): assertion failed: (srcleft <= CHARSET_MAX_PENDING_BUF_SIZE) > > OS: FreeBSD 10.2 > Dovecot: 2.1.19 > Tika: 1.10 > SOLR: 5.3.1I thought this would have definitely been fixed by now.. Can you find some specific email which is triggering this? It's either something strange that I didn't expect, or it's a bug in FreeBSD's iconv(). Also can you debug this like: gdb --args doveadm index -u user at domain INBOX run <it should crash now> f 5 p src p ic_srcbuf p *src_size p srcleft
Timo Sirainen wrote:> On 05 Oct 2015, at 22:05, Nick Rosier<nick+dovecot at bunbun.be> wrote: >> Hi, >> >> one of my mailboxes returns following error when I run doveadm index on it: >> >> Panic: file charset-iconv.c: line 85 (charset_to_utf8_try): assertion failed: (srcleft<= CHARSET_MAX_PENDING_BUF_SIZE) >> >> OS: FreeBSD 10.2 >> Dovecot: 2.1.19 >> Tika: 1.10 >> SOLR: 5.3.1 > > I thought this would have definitely been fixed by now.. Can you find some specific email which is triggering this? It's either something strange that I didn't expect, or it's a bug in FreeBSD's iconv(). > > Also can you debug this like: > > gdb --args doveadm index -u user at domain INBOX > run > <it should crash now> > f 5 > p src > p ic_srcbuf > p *src_size > p srcleftI recompiled Dovecot with Debug but I suspect I will have to do it for all the required libraries as well; I did manage to find the offending message is in Trash but have not been able to pin-point which message it is. Just in case, here is the debugging info. I will see if I can compile all dependencies in debug mode as well. GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... (gdb) run Starting program: /usr/local/bin/doveadm index -u xxxx at xxxx Trash doveadm(xxxx at xxxx): Panic: file charset-iconv.c: line 85 (charset_to_utf8_try): assertion failed: (srcleft <= CHARSET_MAX_PENDING_BUF_SIZE) Program received signal SIGABRT, Aborted. 0x000000080149f64a in thr_kill () from /lib/libc.so.7 (gdb) f 5 #5 0x0000000801143cd3 in i_panic (format=0x801191c30 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:275 275 failures.c: No such file or directory. in failures.c Current language: auto; currently minimal (gdb) p src No symbol "src" in current context. (gdb) p ic_srcbuf No symbol "ic_srcbuf" in current context. (gdb) p *src_size No symbol "src_size" in current context. (gdb) p srcleft No symbol "srcleft" in current context.
Nick Rosier schreef:> > Timo Sirainen wrote: >> On 05 Oct 2015, at 22:05, Nick Rosier<nick+dovecot at bunbun.be> wrote: >>> Hi, >>> >>> one of my mailboxes returns following error when I run doveadm index on it: >>> >>> Panic: file charset-iconv.c: line 85 (charset_to_utf8_try): assertion failed: (srcleft<= CHARSET_MAX_PENDING_BUF_SIZE) >>> >>> OS: FreeBSD 10.2 >>> Dovecot: 2.1.19 >>> Tika: 1.10 >>> SOLR: 5.3.1 >> >> I thought this would have definitely been fixed by now.. Can you find some specific email which is triggering this? It's either something strange that I didn't expect, or it's a bug in FreeBSD's iconv(). >> >> Also can you debug this like: >> >> gdb --args doveadm index -u user at domain INBOX >> run >> <it should crash now> >> f 5 >> p src >> p ic_srcbuf >> p *src_size >> p srcleft > I recompiled Dovecot with Debug but I suspect I will have to do it for > all the required libraries as well; I did manage to find the offending > message is in Trash but have not been able to pin-point which message > it is. Just in case, here is the debugging info. I will see if I can > compile all dependencies in debug mode as well. > > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and > you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "amd64-marcel-freebsd"... > (gdb) run > Starting program: /usr/local/bin/doveadm index -u xxxx at xxxx Trash > doveadm(xxxx at xxxx): Panic: file charset-iconv.c: line 85 > (charset_to_utf8_try): assertion failed: (srcleft <= > CHARSET_MAX_PENDING_BUF_SIZE) > > Program received signal SIGABRT, Aborted. > 0x000000080149f64a in thr_kill () from /lib/libc.so.7 > (gdb) f 5 > #5 0x0000000801143cd3 in i_panic (format=0x801191c30 "file %s: line > %d (%s): assertion failed: (%s)") at failures.c:275 > 275 failures.c: No such file or directory. > in failures.c > Current language: auto; currently minimal > (gdb) p src > No symbol "src" in current context. > (gdb) p ic_srcbuf > No symbol "ic_srcbuf" in current context. > (gdb) p *src_size > No symbol "src_size" in current context. > (gdb) p srcleft > No symbol "srcleft" in current context. >recompiled dovecot + all dependencies with debug but I get the same output. anything else I can try?
On 16 Oct 2015, at 23:44, Nick Rosier <nick+dovecot at bunbun.be> wrote:> > >> gdb --args doveadm index -u user at domain INBOX >> run >> <it should crash now> >> f 5 >> p src >> p ic_srcbuf >> p *src_size >> p srcleft > I recompiled Dovecot with Debug but I suspect I will have to do it for all the required libraries as well; I did manage to find the offending message is in Trash but have not been able to pin-point which message it is. Just in case, here is the debugging info. I will see if I can compile all dependencies in debug mode as well. > > Program received signal SIGABRT, Aborted. > 0x000000080149f64a in thr_kill () from /lib/libc.so.7 > (gdb) f 5 > #5 0x0000000801143cd3 in i_panic (format=0x801191c30 "file %s: line %d (%s): assertion failed: (%s)") at failures.c:275I guessed the frame wrong. It's usually 5, but I guess in FreeBSD it's 6 then. So try the same commands, but "f 6" first before "f 5" (and if that doesn't work either, try f 7).