Cyrus DB Errors "DBERROR: error fetching user.username" even after reconstructs

Bron Gondwana brong at fastmail.fm
Tue Feb 10 18:08:34 EST 2009


On Tue, Feb 10, 2009 at 03:59:09PM -0600, Josh Whitver wrote:
> Hello all,
> 
> I've got one user on my mail system that Cyrus seems to have it in  
> for.  IMAP connections stall out, mail messages to her get stuck in  
> the Postfix queue indefinitely, and things just generally aren't  
> working for her.  Server is an Intel Xserve running Mac OS X 10.5.5  
> Server, clients are 10.5.4 using Mail.app (but issues appear using any  
> IMAP client, such as our RoundCube webmail system).  All other users  
> (more than 500 of them) are fine.
> 
> Whenever an IMAP connection is attempted, I see this in the log:
> Feb 10 09:14:17 urbandale imap[34508]: DBERROR: error fetching user. 
> [username]: cyrusdb error
> 
> We've seen this kind of issue before, and usually doing the following  
> clears it up:
> sudo /usr/bin/cyrus/bin/reconstruct -r -f user/[username]
> 
> Under Tiger Server, you had to be sure to use sudo -u cyrusimap so  
> that the cyrus files would have the correct permissions, but under  
> Leopard, running it as root seems to do the job (the cyrus files are  
> owned by _cyrus afterwards, like they should be).
> 
> At any rate, that didn't solve her issues, so I ended up deleting the  
> cyrus.* files in all her mail boxes and her Inbox and running it  
> again, creating fresh copies.  Still no dice.  So then I tried:
> sudo /usr/bin/cyrus/bin/reconstruct -x -r user/[username]
> 
> Which again created fresh files, but the issues still persist.  I  
> backed up the user's mailboxes and went into cyradm and deleted them  
> altogether, and re-created them.  I didn't move any of the mail  
> messages back because I wanted to see if it would work with a blank  
> slate.  Same issue.
> 
> This seems to imply that something's borked in the main Cyrus  
> database, if I'm not mistaken.  The question then becomes what to do  
> about that.  Suggestions, anyone?  I'm rapidly running out of ideas -  
> any help you can offer would be appreciated.  Thanks!

Yeah, you have a broken mailboxes.db I'd say!

Here's what I would do:

# stop cyrus
cyr_dbtool /var/imap/mailboxes.db skiplist show > mailboxes.dump
cyr_dbtool -n /var/lib/mailboxes_new.db skiplist set < mailboxes.dump
mv /var/imap/mailboxes.db /var/imap/mailboxes_old.db
mv /var/lib/mailboxes_new.db /var/imap/mailboxes.db
# start cyrus

This will give you a brand new clean mailboxes.db (but keep the old one
just in case)

Bron.


More information about the Info-cyrus mailing list