[spambayes-bugs] [ spambayes-Bugs-841819 ] 500 Server error: DB_RUNRECOVERY: Fatal error

SourceForge.net noreply at sourceforge.net
Mon Mar 15 22:20:12 EST 2004


Bugs item #841819, was opened at 2003-11-14 12:28
Message generated for change (Comment added) made by anadelonbrin
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=498103&aid=841819&group_id=61702

Category: pop3proxy
Group: Source code 1.0a6
>Status: Closed
>Resolution: Duplicate
Priority: 5
Submitted By: Marek Zielinski (marekz)
Assigned to: Nobody/Anonymous (nobody)
Summary: 500 Server error: DB_RUNRECOVERY: Fatal error

Initial Comment:
Actually version is 1.0a7
Windows 2000, with Pegasus e-mail software, using the 
pop3proxy. Updated from 1.0a7, and it worked for a few 
days.

Now any attempt to train using the web interface yields 
the same error (see below). Restarting the service did 
not help. Database corrupted? 

500 Server error

Traceback (most recent call last):

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\ProxyUI.py", line 310, in onReview
    targetCorpus.takeMessage(id, sourceCorpus)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\Corpus.py", line 201, in 
takeMessage
    self.addMessage(msg)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\FileCorpus.py", line 143, in 
addMessage
    Corpus.Corpus.addMessage(self, message)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\Corpus.py", line 136, in 
addMessage
    obs.onAddMessage(message)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\storage.py", line 580, in 
onAddMessage
    self.train(message)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\storage.py", line 588, in train
    self.bayes.learn(message.tokenize(), self.is_spam)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\classifier.py", line 211, in learn
    self._add_msg(wordstream, is_spam)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\classifier.py", line 346, in _add_msg
    self._wordinfoset(word, record)

  File "C:\PROGRA~1\Python23\Lib\site-
packages\spambayes\storage.py", line 279, in 
_wordinfoset
    self.db[word] = record.__getstate__()

  File "C:\Program Files\Python23\lib\shelve.py", line 130, 
in __setitem__
    self.dict[key] = f.getvalue()

  File "C:\Program Files\Python23\lib\bsddb\__init__.py", 
line 120, in __setitem__
    self.db[key] = value

DBRunRecoveryError: (-30982, 'DB_RUNRECOVERY: Fatal 
error, run database recovery -- fatal region error 
detected; run recovery')
 

----------------------------------------------------------------------

>Comment By: Tony Meyer (anadelonbrin)
Date: 2004-03-16 16:20

Message:
Logged In: YES 
user_id=552329

Closing, since there isn't any new information in here as
compared to [ 807217 ] fatal region error detected; run recovery

<http://sourceforge.net/tracker/index.php?func=detail&aid=807217&group_id=61702&atid=498103>

----------------------------------------------------------------------

Comment By: Tony Meyer (anadelonbrin)
Date: 2004-01-11 14:16

Message:
Logged In: YES 
user_id=552329

If you're using 1.0a7 or later, then the messageinfo db will 
use the same storage type as the main (bayes) database, so 
it should also be immune from this problem if you switch to 
using a pickle.

To confirm, you do have to delete the database files before 
you change the option, at the moment.

----------------------------------------------------------------------

Comment By: Richie Hindle (richiehindle)
Date: 2004-01-10 05:03

Message:
Logged In: YES 
user_id=85414

We're still investigating this, but I'm afraid we still don't have 
a resolution.  There's no known way of recovering the 
database, because (we think) the SleepyCat tools don't work 
with the backward-compatibility mode we use with bsddb.

All you can do this time is retrain from scratch.  You can 
prevent this error from happening in the future by using a 
pickle rather than a database (Configuration / Advanced / 
Storage options / Use database for storage: No).  This will 
make startup and training slower, but may make classifying 
faster and will guarantee that you don't get this error again 
(or at least not for the main database - you could possibly 
get it for spambayes.messageinfo.db but you can harmlessly 
delete that one).

I think you need to shut down SpamBayes and manually 
delete your database file (probably called hammie.db) before 
(or after?) changing the "Use database" option.


----------------------------------------------------------------------

Comment By: Francesc Alted (falted)
Date: 2004-01-10 02:41

Message:
Logged In: YES 
user_id=249033

The same problem happens to me with Linux and python 2.3.3. 
 
I've tried to recover the database, as the message errors 
suggest, but I've found no way to do that  because I don't 
know what bsddb version the hammie.db file is. A try with 
 
$ db3_recover hammie 
usage: db_recover [-cVv] [-h home] 
[-t[[CC]YY]MMDDhhmm[.SS]] 
 
does nothing. It seems like if hammie.db is not a berkeley db. 
 
Anyway, I hope the bug could be found soon, because I find the 
software lovely!. 

----------------------------------------------------------------------

Comment By: Richie Hindle (richiehindle)
Date: 2003-11-16 04:56

Message:
Logged In: YES 
user_id=85414

We don't know what causes this - you might find it comes 
back, or you might not.  I don't think it's specific to 1.0a6, 
though.

----------------------------------------------------------------------

Comment By: Marek Zielinski (marekz)
Date: 2003-11-15 09:15

Message:
Logged In: YES 
user_id=908752

I blew away the databases, stopped and restarted the pop3
service and trained again on stored spam. (Pegasus can
create a unix mailbox for me). The problem seems to go away.
Perhaps the database was corrupt because of 1.0a6 bug, and
the upgrade requires a fresh start with new database?

-Marek

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=498103&aid=841819&group_id=61702



More information about the Spambayes-bugs mailing list