[Dovecot] rc27 assert, mbox format
Timo,
After several days of flawless work, rc27 gave an assert/core yesterday:
Mar 19 00:10:46 karst dovecot: [ID 107833 mail.error] IMAP(user): file mbox-sync-rewrite.c: line 423: assertion failed: (need_space == (uoff_t)-mails[idx].space) Mar 19 00:10:46 karst dovecot: [ID 107833 mail.error] IMAP(user): Raw backtrace: 0x8a51c -> 0x473f4 -> 0x479b0 -> 0x41c50 -> 0x42430 -> 0x431d4 -> 0x43dac -> 0x44040 -> 0x2aa70 -> 0x2afec -> 0x2337c -> 0x23508 -> 0x235f0 -> 0x90c18 -> 0x9043c -> 0x2cfac -> 0x1dbe8
I could see nothing wrong with the user's mailbox, it was not corrupted.
My setup: Solaris 10 sparc, mbox format, INBOX NFSv4 mounted from another S10 sparc system, no disk quotas, ZFS filesystem for both the INBOX filesystem and the user's home directory. Unfortunately, I compiled dovecot with Sun's cc compiler, so the gdb traceback is fairly useless. I need to go back to gcc.
Jeff Earickson Colby College
On Mon, 2007-03-19 at 09:31 -0400, Jeff A. Earickson wrote:
Mar 19 00:10:46 karst dovecot: [ID 107833 mail.error] IMAP(user): file mbox-sync-rewrite.c: line 423: assertion failed: (need_space == (uoff_t)-mails[idx].space)
Hmm. A bit dangerous to do this many changes to mbox code now that it finally seemed to work pretty well, but..:
- http://dovecot.org/list/dovecot-cvs/2007-March/008271.html
- http://dovecot.org/list/dovecot-cvs/2007-March/008273.html
It doesn't fix anything, but it does more error checking and gives a better error message instead of just the assert.
On Wed, 2007-03-21 at 23:59 +0200, Timo Sirainen wrote:
On Mon, 2007-03-19 at 09:31 -0400, Jeff A. Earickson wrote:
Mar 19 00:10:46 karst dovecot: [ID 107833 mail.error] IMAP(user): file mbox-sync-rewrite.c: line 423: assertion failed: (need_space == (uoff_t)-mails[idx].space)
Hmm. A bit dangerous to do this many changes to mbox code now that it finally seemed to work pretty well, but..:
- http://dovecot.org/list/dovecot-cvs/2007-March/008271.html
- http://dovecot.org/list/dovecot-cvs/2007-March/008273.html
It doesn't fix anything, but it does more error checking and gives a better error message instead of just the assert.
Oh and this makes the check more reliable with OSes and FSes supporting it: http://dovecot.org/list/dovecot-cvs/2007-March/008275.html
Looks like Solaris 10 does at least with UFS, don't know about NFSv4.
participants (2)
-
Jeff A. Earickson
-
Timo Sirainen