Fixing Dovecot panic mail-index-sync-keywords.c, broken dovecot indexes
Keyword index
- Dovecot broken indexes
- Panic: file mail-index-sync-keywords.c:
- dovecot_mailbox_broken_indexes
Introduction
If you have problems while accessing to a mailbox and after reviewing logs you find something like:
Jul 4 10:44:22 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:44:31 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:45:04 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:45:23 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:45:34 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:46:40 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record)) Jul 4 10:48:45 claudia dovecot: imap(someuser@core-admin.com): Panic: file mail-index-sync-keywords.c: line 227 (keywords_update_records): assertion failed: (data_offset >= sizeof(struct mail_index_record))
Then, one or more dovecot index and/or cache files are broken. This happens due to moving a mailbox from different dovecot versions. It can also happens with
outdated dovecot servers.
Resolution
Core-Admin will detect these errors automatically and will report a: dovecot_mailbox_broken_indexes
Click on it and then click on “Reset dovecot indexes”.
That will clear all dovecot indexes at the destination machine, for the failing mailbox.
If you want to fix it manually, locate mailbox associated to the user and run the following command
(update it accordingly to the user mailbox failing):
>> find /var/spool/dovecot/mail/core-admin.com/someuser -name 'dovecot*' -type f -delete"
After that, you should have fixed the problem. No dovecot restart required.
Posted in: Core-Admin, Dovecot
Leave a Comment (0) →