[Spambayes] Cannot teach Spambayes, DB _RUNRECOVERY: Fatal error,run database recovery -- fatal region error detected; run recovery'

Tony Meyer tameyer at ihug.co.nz
Sat Jul 3 08:54:19 CEST 2004

> I can no longer teach my Spambayes proxy.
> DBRunRecoveryError: (-30982, 'DB_RUNRECOVERY:
> Fatal error, run database recovery -- fatal
> region error detected; run recovery')

This means that the database is corrupt, unfortunately.  The only solution
is to retrain from scratch (or replace the database with a backup, if there
is one).  To do this, just delete the two database files (probably called
hammie.db and spambayes.messageinfo.db).

Database corruption is (now) fairly rare, and we don't know what causes the
remaining cases.  It's unlikely that this will happen again, but if you have
any clues about why it may have (e.g. power loss during training), we would
be interested in hearing them.  Note that the corruption can occur quite
some time (i.e. days) before the error message appears.

> How do I run the database recovery?

The error message is misleading (it's from the underlying database package).
The recovery program is no use in this case, unfortunately.

In the long term, we hope to move to a different database system, that
doesn't have these problems.

=Tony Meyer

Please always include the list (spambayes at python.org) in your replies
(reply-all), and please don't send me personal mail about SpamBayes. This
way, you get everyone's help, and avoid a lack of replies when I'm busy.

More information about the Spambayes mailing list