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

Robert Burton bob at audiorents.com
Sat Jul 3 23:53:03 CEST 2004

Thank you for your prompt reply.  I re-read the FAQ's right after I posted
my message and saw that the subject had already been covered.  Now I feel
like a fool for bothering you about something you already covered.

We use Spambayes in a small office.  There are about 15 incoming email
Accounts.  5 of them are "inactive" in that the people have left.

I set up a rule in Outlook to automatically forward any mail received by
these accounts back to the Spambayes server to be trained as spam.

Sort of an "auto-teach" function, as all the email to these accounts was
spam anyway, why not have them do something useful.

It was a short time after that that the problem occurred.

I had tried this on an earlier version of Spambayes, and it caused 
Spambayes to crash, so I thought I would try it on the new version
and I got the DB_REVOVERY error.

I wonder if the problems might be related?

I tried to change to a pickle on the earlier version, but kept getting
errors.  I don't really understand pickles.  I might try doing that again.


-----Original Message-----
From: Tony Meyer [mailto:tameyer at ihug.co.nz] 
Sent: Friday, July 02, 2004 11:54 PM
To: 'Robert Burton'; spambayes at python.org
Subject: RE: [Spambayes] Cannot teach Spambayes, DB _RUNRECOVERY: Fatal
error,run database recovery -- fatal region error detected; run recovery'

> 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