What causes DBERROR db4: PANIC: Invalid argument?

Simon Matter simon.matter at invoca.ch
Sat Dec 9 05:13:16 EST 2006


> Yesterday our Cyrus server stopped responding and I saw the following
> messages in the log file:
>
>
>
> Dec  7 18:13:55 email imaps[9684]: [ID 866726 local6.warning] DBERROR
> db4: PANIC: Invalid argument
>
> Dec  7 18:13:55 email imaps[9684]: [ID 864961 local6.crit] DBERROR:
> critical database situation
>
> Dec  7 18:13:55 email master[248]: [ID 684980 local6.warning] service
> imaps pid 9684 in READY state: term
>
> inated abnormally
>
> Dec  7 18:13:55 email imaps[9682]: [ID 866726 local6.warning] DBERROR
> db4: PANIC: fatal region error dete
>
> cted; run recovery
>
>
>
> The last 3 lines (or variations of them) were repeated over and over.  I
> was able to fix the server by shutting down Cyrus, running "ctl_cyrusdb
> -r", and restarting Cyrus.
>
>
>
> 1)       What caused the PANIC: Invalid argument?  Is it a Cyrus bug?

Hm, no idea what happened here. My only suggestion is to move all db4 to
skiplist.

>
>
>
> 2)       If the recovery had failed, I would have had to restore
> mailboxes.db from a backup.  We have text backups of the mailbox db
> created by ctl_mboxlist.  What is the proper procedure for restoring it?
> We would want to get rid of the corrupt data, which would involve
> deleting mailboxes.db, but are there other files that should also be
> deleted?

Importing mailboxes.db should be done via "ctl_mboxlist -u". From my
experience it may be needed to wipe the contents of the directory
[configdir]/db/ before creating new databases. Otherwise parts of the old
db environment are still there and disturbe you.

Simon


More information about the Info-cyrus mailing list