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