[Dovecot] Panic when using QRESYNC
Been seeing these occasionally for the last few weeks. Only way to
fix is to remove cache files in the affected mailbox. Reproduced with
both 1.2.5 and 1.2.6.
IMAP transaction:
- PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID
ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE
CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC
ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH] Logged in as slusarz 1 enable qresync - ENABLED QRESYNC
1 OK Enabled.
2 EXAMINE "INBOX" (QRESYNC (1254166848 789
1,2,6,7,109,113,193,230,231,279,284))
Log output:
Oct 9 12:49:30 bigworm EXT(slusarz): :
/home/slusarz/Maildir/dovecot.index.log: Transaction log changed
unexpectedly, can't get modseq
Oct 9 12:49:30 bigworm EXT(slusarz): : Panic: file imap-fetch.c: line
227 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
Oct 9 12:49:30 bigworm EXT(slusarz): : Raw backtrace:
/usr/lib/dovecot/imap [0x4a199b] ->
/usr/lib/dovecot/imap(i_syslog_fatal_handler+0x2b) [0x4a1a5b] ->
/usr/lib/dovecot/imap [0x4a10f6] ->
/usr/lib/dovecot/imap(imap_fetch_begin+0x6bb) [0x42415b] ->
/usr/lib/dovecot/imap(cmd_select_full+0x54a) [0x41e5ba] ->
/usr/lib/dovecot/imap [0x420b4d] -> /usr/lib/dovecot/imap [0x420c2d]
-> /usr/lib/dovecot/imap(client_handle_input+0x135) [0x420e55] ->
/usr/lib/dovecot/imap(client_input+0x5c) [0x42192c] ->
/usr/lib/dovecot/imap(io_loop_handler_run+0xbd) [0x4a988d] ->
/usr/lib/dovecot/imap(io_loop_run+0x18) [0x4a8d08] ->
/usr/lib/dovecot/imap(main+0x531) [0x429441] ->
/lib/libc.so.6(__libc_start_main+0xfd) [0x7ffff76a09ed] ->
/usr/lib/dovecot/imap [0x4199f9]
Oct 9 12:49:30 bigworm dovecot: dovecot: child 9556 (imap) killed
with signal 6 (core dumps disabled)
GDB output:
Program received signal SIGABRT, Aborted. 0x00007ffff76b3f15 in raise () from /lib/libc.so.6 (gdb) bt full #0 0x00007ffff76b3f15 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007ffff76b5340 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00000000004a19ad in ?? () No symbol table info available. #3 0x00000000004a1a5b in i_syslog_fatal_handler () No symbol table info available. #4 0x00000000004a10f6 in i_panic () No symbol table info available. #5 0x000000000042415b in imap_fetch_begin () No symbol table info available. #6 0x000000000041e5ba in cmd_select_full () No symbol table info available. #7 0x0000000000420b4d in ?? () No symbol table info available. #8 0x0000000000420c2d in ?? () No symbol table info available. #9 0x0000000000420e55 in client_handle_input () No symbol table info available. #10 0x000000000042192c in client_input () No symbol table info available. #11 0x00000000004a988d in io_loop_handler_run () No symbol table info available. #12 0x00000000004a8d08 in io_loop_run () No symbol table info available. #13 0x0000000000429441 in main () No symbol table info available.
On 10/09/2009 08:56 PM Michael M. Slusarz wrote:
Been seeing these occasionally for the last few weeks. Only way to
fix is to remove cache files in the affected mailbox. Reproduced with
both 1.2.5 and 1.2.6.IMAP transaction:
- PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID
ENABLE SORT THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE
CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC
ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH] Logged in as slusarz 1 enable qresync- ENABLED QRESYNC 1 OK Enabled. 2 EXAMINE "INBOX" (QRESYNC (1254166848 789
1,2,6,7,109,113,193,230,231,279,284))
Hi Michael,
maybe Timo has sent his reply only to you. If not: there is patch:
imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid map. http://hg.dovecot.org/dovecot-1.2/rev/352eab3d6ade
Hope that helps
Regards, Pascal
The trapper recommends today: f007ba11.0928222@localdomain.org
On Fri, 2009-10-09 at 22:33 +0200, Pascal Volk wrote:
2 EXAMINE "INBOX" (QRESYNC (1254166848 789
1,2,6,7,109,113,193,230,231,279,284))Hi Michael,
maybe Timo has sent his reply only to you. If not: there is patch:
imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid map. http://hg.dovecot.org/dovecot-1.2/rev/352eab3d6ade
Actually that's for a different crash. I couldn't immediately reproduce Michael's problem so I decided to leave it for later..
Quoting Timo Sirainen tss@iki.fi:
On Fri, 2009-10-09 at 22:33 +0200, Pascal Volk wrote:
2 EXAMINE "INBOX" (QRESYNC (1254166848 789 1,2,6,7,109,113,193,230,231,279,284))
Hi Michael,
maybe Timo has sent his reply only to you. If not: there is patch:
imap: Don't crash on SELECT .. QRESYNC if it didn't give seq-uid map. http://hg.dovecot.org/dovecot-1.2/rev/352eab3d6ade
Actually that's for a different crash. I couldn't immediately reproduce Michael's problem so I decided to leave it for later..
Timo,
I saved the various dovecot cache/index files - let me know if that
would be useful for tracking down this issue.
michael
On Fri, 2009-10-09 at 12:56 -0600, Michael M. Slusarz wrote:
Oct 9 12:49:30 bigworm EXT(slusarz): :
/home/slusarz/Maildir/dovecot.index.log: Transaction log changed
unexpectedly, can't get modseq
I'll still need to get this fixed.
Oct 9 12:49:30 bigworm EXT(slusarz): : Panic: file imap-fetch.c: line
227 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
But the crash is anyway now fixed: http://hg.dovecot.org/dovecot-1.2/rev/73c4a7d325fe
On Fri, 2009-10-09 at 20:37 -0400, Timo Sirainen wrote:
On Fri, 2009-10-09 at 12:56 -0600, Michael M. Slusarz wrote:
Oct 9 12:49:30 bigworm EXT(slusarz): :
/home/slusarz/Maildir/dovecot.index.log: Transaction log changed
unexpectedly, can't get modseqI'll still need to get this fixed.
Quoting Timo Sirainen tss@iki.fi:
On Fri, 2009-10-09 at 12:56 -0600, Michael M. Slusarz wrote:
Oct 9 12:49:30 bigworm EXT(slusarz): : Panic: file imap-fetch.c: line 227 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
But the crash is anyway now fixed: http://hg.dovecot.org/dovecot-1.2/rev/73c4a7d325fe
Hmmm... Rebuilt with the latest 1.2.7-pre code yesterday, and I am
still seeing this (on at least 2 different mailboxes in the last day):
Oct 20 13:23:32 bigworm dovecot: IMAP(slusarz): Panic: file
imap-fetch.c: line 2
27 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
Oct 20 13:23:32 bigworm dovecot: IMAP(slusarz): Raw backtrace: imap
[0x4a199b] -
imap [0x4a1a13] -> imap [0x4a10f6] -> imap(imap_fetch_begin+0x6bb) [0x42415b] -> imap(cmd_select_full+0x54a) [0x41e5ba] -> imap [0x420b4d] -> imap
[0x420c2d] -> imap(client_handle_input+0x135) [0x420e55] ->
imap(client_input+0x5c) [0x4219 2c] -> imap(io_loop_handler_run+0xbd) [0x4a988d] ->
imap(io_loop_run+0x18) [0x4a 8d08] -> imap(main+0x531) [0x429441] ->
/lib/libc.so.6(__libc_start_main+0xfd) [ 0x7f6c456599ed] -> imap [0x4199f9]
Is this an issue with needing to delete cache files from before the
fix? Or is this still an issue?
michael
On Tue, 2009-10-20 at 13:34 -0600, Michael M. Slusarz wrote:
Hmmm... Rebuilt with the latest 1.2.7-pre code yesterday, and I am
still seeing this (on at least 2 different mailboxes in the last day):Oct 20 13:23:32 bigworm dovecot: IMAP(slusarz): Panic: file
imap-fetch.c: line 2 27 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
Is it logging any other errors anymore? I can't really see how the code is broken to cause this. Can you again reproduce it and send me that mailbox's dovecot.index and dovecot.index.log files and the command that crashed it?
Or getting a core dump and gdbing it and printing mail->uid and next_uid values could also show something useful.
Is this an issue with needing to delete cache files from before the
fix? Or is this still an issue?
No need to delete anything.
On Tue, 2009-10-20 at 15:38 -0400, Timo Sirainen wrote:
On Tue, 2009-10-20 at 13:34 -0600, Michael M. Slusarz wrote:
Hmmm... Rebuilt with the latest 1.2.7-pre code yesterday, and I am
still seeing this (on at least 2 different mailboxes in the last day):Oct 20 13:23:32 bigworm dovecot: IMAP(slusarz): Panic: file
imap-fetch.c: line 2 27 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)Is it logging any other errors anymore? I can't really see how the code is broken to cause this.
Oh, this actually should fix it: http://hg.dovecot.org/dovecot-1.2/rev/36b8d97d0f58
Quoting Timo Sirainen tss@iki.fi:
On Tue, 2009-10-20 at 15:38 -0400, Timo Sirainen wrote:
On Tue, 2009-10-20 at 13:34 -0600, Michael M. Slusarz wrote:
Hmmm... Rebuilt with the latest 1.2.7-pre code yesterday, and I am still seeing this (on at least 2 different mailboxes in the last day):
Oct 20 13:23:32 bigworm dovecot: IMAP(slusarz): Panic: file imap-fetch.c: line 2 27 (get_expunges_fallback): assertion failed: (mail->uid > next_uid)
Is it logging any other errors anymore? I can't really see how the code is broken to cause this.
Oh, this actually should fix it: http://hg.dovecot.org/dovecot-1.2/rev/36b8d97d0f58
OK - I'm building with the latest source and will keep my eye out for
any issues.
michael
participants (3)
-
Michael M. Slusarz
-
Pascal Volk
-
Timo Sirainen