[Dovecot] deliver: Panic: file sieve-cmu.c: line 90 (unfold_header): assertion failed: (str[i] == ' ' || str[i] == '\t')
I use dovecot-1.1.10 and dovecot-sieve-1.1.6
/usr/local/libexec/dovecot/deliver coredups several times per day with bt like this:
(gdb) bt
#0 0x0000000800a3a91c in kill () at kill.S:2
#1 0x0000000800a3a88a in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:46
#2 0x0000000800a38f83 in abort () at /usr/src/lib/libc/stdlib/abort.c:65
#3 0x00000000004a7de5 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:151
#4 0x00000000004a8777 in i_syslog_fatal_handler (type=Could not find the frame base for "i_syslog_fatal_handler".
) at failures.c:309
#5 0x00000000004a80ca in i_panic (format=Could not find the frame base for "i_panic".
) at failures.c:198
#6 0x0000000800e0b265 in unfold_header (
str=0x800c55a40 "\"firm ru\nÐ\217Ð\201бЌ¬® Ñ\236Ò\220Ð\216¬ бвÒ\220аг\"
I log messages: deliver(user_xxxxx): Panic: file sieve-cmu.c: line 90 (unfold_header): assertion failed: (str[i] == ' ' || str[i] == '\t')
-- Anton Yuzhaninov
On Thu, 19 Feb 2009 06:52:54 +0000 (UTC), Anton Yuzhaninov wrote: AY> deliver(user_xxxxx): Panic: file sieve-cmu.c: line 90 (unfold_header): assertion failed: (str[i] == ' ' || str[i] == '\t')
Header from this message:
To: "=?windows-1251?B?ZmlybSBydQqPqOHsrK4goqWhrKDh4qXg4w==?=" user@example
It conatin \n inside base64 encoded world.
-- Anton Yuzhaninov
On Thu, 2009-02-19 at 06:52 +0000, Anton Yuzhaninov wrote:
I log messages: deliver(user_xxxxx): Panic: file sieve-cmu.c: line 90 (unfold_header): assertion failed: (str[i] == ' ' || str[i] == '\t')
Deleting dovecot.index.cache file should help for this. Also this patch should do it automatically: http://hg.dovecot.org/dovecot-sieve-1.1/rev/45d2da01f907
The original problem was the corrupted cache file though. If it keeps getting corrupted all the time you have some other problem that should be fixed..
participants (2)
-
Anton Yuzhaninov
-
Timo Sirainen