Problems with a crashed BDB

Bron Gondwana brong at fastmail.fm
Thu Aug 31 01:06:11 EDT 2006


Luckily for you, you haven't lost any actual emails, just meta
data.  The emails are still on the disk as individual files.
Do you know which specific DB file is corrupted?

You can probably nuke deliver.db at start up (we do).  Worst
case, just move your mailboxes.db somewhere else and run
reconstruct on every username.  Pretty horrible to have to go
to that extent.

Emails should be in /var/spool/imap or equivalent location on
your setup.  The layout is {letter}/user/{username}.  We keep
our mail in /var/cyrus/{instance name} so my emails are actually
in:

/var/cyrus/imap5/data2/b/user/brong - look for the 
'partition-default:' entry in your imapd.conf to find the
correct path.

Individual messages are called '{uid}.', so the first message is
'1.', etc.

Regards,

Bron.

On Wed, Aug 30, 2006 at 10:45:18PM +0200, Michael Obster wrote:
> Hi,
> 
> I have a big problem with my Cyrus and my BDB here. I'm using Cyrus
> 2.2.12 with BDB 4.2.52.
> 
> When I'm starting Cyrus, I get this error in my imapd.log:
> -------
> Aug 30 22:38:44 alpha1 master[19525]: setrlimit: Unable to set file
> descriptors limit to -1: Operation not permitted
> Aug 30 22:38:44 alpha1 master[19525]: retrying with 1024 (current max)
> Aug 30 22:38:44 alpha1 master[19525]: process started
> Aug 30 22:38:44 alpha1 master[19526]: about to exec
> /opt/cyrus/cyrus/bin/ctl_cyrusdb
> Aug 30 22:38:44 alpha1 ctl_cyrusdb[19526]: DBERROR db4: Recovery
> function for LSN 8 7404244 failed on backward pass
> Aug 30 22:38:44 alpha1 ctl_cyrusdb[19526]: DBERROR db4: PANIC: Is a
> directory
> Aug 30 22:38:44 alpha1 ctl_cyrusdb[19526]: DBERROR: critical database
> situation
> Aug 30 22:38:44 alpha1 master[19525]: process 19526 exited, status 75
> Aug 30 22:38:44 alpha1 master[19525]: ready for work
> Aug 30 22:38:44 alpha1 master[19527]: about to exec
> /opt/cyrus/cyrus/bin/ctl_cyrusdb
> Aug 30 22:38:44 alpha1 ctl_cyrusdb[19527]: DBERROR db4: PANIC: fatal
> region error detected; run recovery
> Aug 30 22:38:44 alpha1 ctl_cyrusdb[19527]: DBERROR: critical database
> situation
> Aug 30 22:38:44 alpha1 master[19525]: process 19527 exited, status 75
> --------
> 
> So I tried a reconstruct -m and a reconstruct -r user/username on a
> specific mailbox and I'm getting this:
> --------
> Aug 30 22:41:08 alpha1 reconstruct[19571]: DBERROR db4: PANIC: fatal
> region error detected; run recovery
> Aug 30 22:41:08 alpha1 reconstruct[19571]: DBERROR: critical database
> situation
> --------
> 
> Running "ctl_cyrusdb -r" results in a:
> --------
> ug 30 22:41:50 alpha1 ctl_cyrusdb[19582]: DBERROR db4: Recovery function
> for LSN 8 7404244 failed on backward pass
> Aug 30 22:41:50 alpha1 ctl_cyrusdb[19582]: DBERROR db4: PANIC: Is a
> directory
> Aug 30 22:41:50 alpha1 ctl_cyrusdb[19582]: DBERROR: critical database
> situation
> --------
> 
> Damn BDB, but HOW CAN I GET MY MAILS BACK? I'm at one's wits' end, so
> any help would be very great because I have some very important mails there!
> 
> Cheers,
> Michael Obster
> 
> ----
> Cyrus Home Page: http://asg.web.cmu.edu/cyrus
> Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


More information about the Info-cyrus mailing list