mailboxes.db invalid entries
Jan Kowalsky
jankow at datenkollektiv.net
Thu Apr 21 19:28:52 EDT 2016
Hi all,
I have an unresolvable problem with one mailbox:
It got an entry inside the mailboxes.db and a spool directory - but I
can't change it or access it. I always got "invalid identifier" on cyradm.
Dumping the mailbox with ctl_mboxlist
example.com!user.kontakt.Calendar 0 (null) (null)
Converted the mailbox with cvt_cyrusdb /srv/imap/default/mailboxes.db
skiplist /tmp/mailboxes.txt flat
I saw this invalid entry in group entry -> there is a white space
between group: and group name:
example.com!user.kontakt.Calendar %(A %(kontakt at example.com
lrswipkxtecdan group: teamgroup lrs) I 0ba6aced567131fb P default V
1456854556 M 1461271748)
In the past I had once a similar problem. The reasons where also invalid
acl entries - (because of buggy ptloader - and the missing prove if the
aci subject even exists. Anyway...)
I tried to ways:
First I tried to dump the mailbox.db with ctl_mboxlist -d /tmp/mailboxes.txt
After deleting the wrong entry manually I wanted to reload the mailbox
again with ctl_mboxlist -u /tmp/mailboxes.txt. All operation with
stopped cyrus.
This gave me the error:
fatal error: failed to mmap /srv/imap/config/mailboxes.db file
As a second way I tried to convert mailbox with the cvt_cyrusdb to flat
format - edit the wrong entry and convert it back (with cyrus stopped).
No cyrus didn't start again:
In the logs:
Apr 22 00:53:35 mail master[19881]: setrlimit: Unable to set file
descriptors limit to -1: Operation not permitted
Apr 22 00:53:35 mail master[19881]: retrying with 4096 (current max)
Apr 22 00:53:35 mail ctl_cyrusdb[19882]: skiplist: clean shutdown file
missing, updating recovery stamp
Apr 22 00:53:35 mail ctl_cyrusdb[19882]: recovering cyrus databases
Apr 22 00:53:35 mail ctl_cyrusdb[19882]: converting
/srv/imap/config/mailboxes.db from skiplist to twoskip
Apr 22 00:53:35 mail ctl_cyrusdb[19882]: skiplist: recovered
/srv/imap/config/mailboxes.db (15000 records, 1962048 bytes) in 0 seconds
Apr 22 00:53:35 mail ctl_cyrusdb[19882]: skiplist: checkpointed
/srv/imap/config/mailboxes.db (15000 records, 1962048 bytes) in 0.143 sec
Apr 22 00:53:39 mail ctl_cyrusdb[19882]: IOERROR: mapping
/srv/imap/config/mailboxes.db.NEW.NEW file: Cannot allocate memory
Apr 22 00:53:39 mail master[19881]: process type:START name:recover
path:/usr/lib/cyrus-imapd/ctl_cyrusdb age:0.000s pid:19882 exited, status 75
Apr 22 00:53:39 mail master[19881]: can't run startup
Apr 22 00:53:39 mail master[19881]: exiting
As the cyrus database troubleshooting isn't documented very well, any
help is very appreciated.
What is the right way to correct database entries?
And one more question related: How to delete entries from database where
no spool directory exists for the mailbox?
Thanks and regards
Jan
More information about the Info-cyrus
mailing list