mailboxes.db invalid entries

Bron Gondwana brong at fastmail.fm
Thu Apr 21 20:24:03 EDT 2016


Ouch, yeah - spaces in group names?  That's gotta be bogus.   I'm surprised we accept those in the first place.

I guess the code should probably check that keys are valid identifiers though :(  So that is a legitimate bug.

Bron.

On Fri, Apr 22, 2016, at 09:28, Jan Kowalsky via Info-cyrus wrote:
> 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
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus


-- 
  Bron Gondwana
  brong at fastmail.fm


More information about the Info-cyrus mailing list