Running "ctl_mboxlist -m" on a running server

João Assad jfassad at
Wed May 18 15:46:01 EDT 2005

Etienne Goyer wrote:

> Greeting, folks,
> I have a Murder with two backends.  We have experienced what we 
> believe to be skiplist corruption on the mupdate master server.  More 
> precisely, the log show a few instance of such an error :
> May 17 09:50:26 mupdate mupdate[19842]: DBERROR: skiplist recovery \
> /var/imap/mailboxes.db: 45DF894 should be ADD or DELETE
> May 17 09:50:26 mupdate mupdate[19842]: DBERROR: error updating \
> database user.test1234.subtest123: cyrusdb error

Which OS / kernel version are you using ?

> Problem is : user.test1234.subtest123 exist on a backend, but don't 
> show in the mupdate database.  Thus we can't delete the mailbox, 
> frontend don't know about it, etc.
> What would be the best to go about it ?  Would running "ctl_mboxlist 
> -m" on the backends fix it ?

You can delete the mailboxes.db and restart cyrus, then you can run 
ctl_mboxlist -m on the backends
You could also recover the mailboxes.db getting it from the hot backup 
in the db.backup1/2 directories and then run ctl_mboxlist -m on the 
backends. That would work only if your hot backup isnt already corrupted

> Is yes, is it possible to run it while the backend are live ?

Im not sure. I've done it in the past and didnt notice any problems.



- João Assad
- ParPerfeito Comunicação LTDA

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list