[Dovecot] file->buffer_offset + file->buffer->used == file->sync_offset
Edgar Fuß
ef at math.uni-bonn.de
Mon Sep 14 14:58:22 EEST 2009
> but I'm still not sure why it would happen and I can't reproduce it.
Hm.
> You didn't happen to get a core dump?
No, sorry. And I would not like to provoke the panic again.
> I'd really like to know what "p *file" and "p *file.buffer" says in gdb.
Sorry.
Any details of our installation that might help?
Maildirs on NFS, indexes local.
mail_nfs_storage = yes
Further digging the logs reveals that for both panics, I have earlier errors:
Sep 7 10:06:12 xxx dovecot: IMAP(aaa): Broken file /import/mail/aaa/.yyyyyy/dovecot-uidlist line 6071: UIDs not ordered (6146 >= 6146)
Sep 7 10:10:12 xxx dovecot: IMAP(aaa): Panic: file mail-transaction-log-append.c: line 88 (log_buffer_move_to_memory): assertion failed: (file->buffer_offset + file->buffer->used == file->sync_offset)
Sep 7 10:08:19 xxx dovecot: IMAP(bbb): Corrupted transaction log file (in-memory index).log seq 4: Transaction log corrupted unexpectedly at 8200: Invalid size 0 (type=1) (sync_offset=10344)
Sep 7 10:08:19 xxx dovecot: IMAP(bbb): fscking index file (in-memory index)
Sep 7 10:15:33 xxx dovecot: IMAP(bbb): Panic: file mail-transaction-log-append.c: line 88 (log_buffer_move_to_memory): assertion failed: (file->buffer_offset + file->buffer->used == file->sync_offset
)
Does this help? I can send uncensored logs if needed.
More information about the dovecot
mailing list