[spambayes-dev] DBRunRecoveryError

Richie Hindle richie at entrian.com
Sun Jul 20 11:34:33 EDT 2003


Hi,

My pop3proxy has developed a weird fault.  I don't have time to
investigate it right now, but maybe someone here with more bsddb
experience than me can throw some light onto it...

I start up the proxy and it runs fine, but after a short time (as yet
unmeasured in terms of either elapsed time or messages received), I
get this for every message:

Traceback (most recent call last):
  File "pop3proxy.py", line 432, in onRetr
    msg.setId(state.getNewMessageName())
  File "D:\Projects\Python\spambayes\spambayes-july\spambayes\message.py", line 181, in setId
    msginfoDB._getState(self)
  File "D:\Projects\Python\spambayes\spambayes-july\spambayes\message.py", line 121, in _getState
    (msg.c, msg.t) = self.db[msg.getId()]
  File "C:\PYTHON23\lib\shelve.py", line 118, in __getitem__
    f = StringIO(self.dict[key])
  File "C:\PYTHON23\lib\bsddb\__init__.py", line 87, in __getitem__
    return self.db[key]
DBRunRecoveryError: (-30982, 'DB_RUNRECOVERY: Fatal error, run database recovery -- fatal region error detected; run recovery')

So somehow the messageinfo DB (not the training DB, which is a pickle)
is getting corrupted.

I'm using CVS Spambayes on Win98.  It couldn't be a platform-specific
problem with Python 2.3's bsddb implementation, could it?  I've deleted
the DB, rebooted, etc. etc., but the problem keeps coming back.  I have
message caching turned off.

I will look into it myself when I get time, but I don't know when that
will be.

-- 
Richie Hindle
richie at entrian.com




More information about the spambayes-dev mailing list