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. ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html