[spambayes-bugs] [ spambayes-Bugs-770793 ] Win98, database corrupts?

SourceForge.net noreply at sourceforge.net
Sun Jul 20 16:07:04 EDT 2003


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

Category: None
Group: None
Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: Lauri Harpf (theranger54)
Assigned to: Nobody/Anonymous (nobody)
Summary: Win98, database corrupts?

Initial Comment:
Gives:

---
Loading database...
Traceback (most recent call last):
  File "c:\ohjelmatiedostot\spambayes\pop3proxy.py", 
line 777, in ?
    run()
  File "c:\ohjelmatiedostot\spambayes\pop3proxy.py", 
line 752, in run
    state.createWorkers()
  File "c:\ohjelmatiedostot\spambayes\pop3proxy.py", 
line 594, in createWorkers
    self.bayes = storage.DBDictClassifier(filename)
  
File "c:\ohjelmatiedostot\spambayes\spambayes\storage.
py", line 147, in __init
__
    self.load()
  
File "c:\ohjelmatiedostot\spambayes\spambayes\storage.
py", line 159, in load
    t = self.db[self.statekey]
  File "C:\OHJELMATIEDOSTOT\PYTHON22\lib\shelve.py", 
line 71, in __getitem__
    return Unpickler(f).load()
EOFError
Exception exceptions.AttributeError: "'NoneType' object 
has no attribute 'error'
" in <bound method _Database.__del__ of 
<dumbdbm._Database instance at 0x00ED936
0>> ignored
---

on startup. Worked fine, then I rebooted the machine 
(shut down Spambayes through the Web interface) and 
then it simply refused to boot up with the above 
message. Error seems permanent, unless user does 
something drastic (ie. destroys the database). I'm 
running Win98 Se, using pop3proxy with Outlook 6 SP1, 
starting the program with

c:\ohjelmatiedostot\python22\python.exe 
c:\ohjelmatiedostot\spambayes\pop3proxy.
py -b

Hard drive is a 80GB model, partitioned into one single 
partition using FAT32, 45,7GB still free. Spambayes 
version is 1.0 A4.

The same problem also occurred with Alpha 3, it refuses 
to start up with the message

---
Loading database...
Traceback (most recent call last):
  File "c:\ohjelmatiedostot\spambayesbak\pop3proxy.py", 
line 730, in ?
    run()
  File "c:\ohjelmatiedostot\spambayesbak\pop3proxy.py", 
line 705, in run
    state.createWorkers()
  File "c:\ohjelmatiedostot\spambayesbak\pop3proxy.py", 
line 547, in createWorke
rs
    self.bayes = storage.DBDictClassifier(filename)
  
File "C:\Ohjelmatiedostot\spambayes\spambayes\storage.
py", line 147, in __init
__
    self.load()
  
File "C:\Ohjelmatiedostot\spambayes\spambayes\storage.
py", line 159, in load
    t = self.db[self.statekey]
  File "C:\OHJELMATIEDOSTOT\PYTHON22\lib\shelve.py", 
line 71, in __getitem__
    return Unpickler(f).load()
EOFError
Exception exceptions.AttributeError: "'NoneType' object 
has no attribute 'error'
" in <bound method _Database.__del__ of 
<dumbdbm._Database instance at 0x00ED1D7
0>> ignored
---

After a fresh install, the program usually works fine for a 
while. Every reboot does not appear to mix things up, it 
only seems to go bad after it has been running for a 
while and the user has classified enough messages. I run 
my comp mostly 24/7, so reboots are rare and 
Spambayes is usually running unless I need to boot.

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

>Comment By: Tim Peters (tim_one)
Date: 2003-07-20 18:07

Message:
Logged In: YES 
user_id=31435

Mark, the Outlook addin never uses dumbdbm, does it?  Looks 
like manager.py looks for bsddb3, and, if it fails to find one, 
uses a PickleStorageManager.  I don't want to give up the 
option of using a PickleStorageManager, since no bugs are 
ever reported against that (low tech == low risk <0.2 wink>).

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

Comment By: Mark Hammond (mhammond)
Date: 2003-07-20 03:26

Message:
Logged In: YES 
user_id=14198

Well, fixed in Python anyway.  If you still care, add a
feature request that Outlook fail to register unless we have
a bsddb database

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

Comment By: Tim Peters (tim_one)
Date: 2003-07-16 10:04

Message:
Logged In: YES 
user_id=31435

The "dumbdbm._Database instance" in the traceback is a sure 
sign of a recently-diagnosed critical problem.  Since you're 
using Outlook, using the Outlook addin instead of pop3proxy 
will cure it.  If for some reason you want to use pop3proxy 
with Outlook (I woudn't -- the Outlook addin is a joy), you'll 
need to install "a real" database.  Python 2.3 will ship with a 
current version of Sleepycat's Berkeley bsddb database.  For 
Python 2.2.3, that can be obtained separately from the 
SourceForge PyBSDDB project:

http://pybsddb.sf.net/

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

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



More information about the Spambayes-bugs mailing list