[spambayes-bugs] [ spambayes-Bugs-821186 ] Lot's of Server Errors (Code 500)

SourceForge.net noreply at sourceforge.net
Fri Oct 10 12:06:23 EDT 2003


Bugs item #821186, was opened at 2003-10-10 05:49
Message generated for change (Comment added) made by andylange
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=498103&aid=821186&group_id=61702

Category: pop3proxy
Group: Source code 1.0a6
Status: Open
Resolution: None
Priority: 5
Submitted By: Florian Metzger (flometzger)
Assigned to: Nobody/Anonymous (nobody)
Summary: Lot's of Server Errors (Code 500)

Initial Comment:
I installed SpamBayes on two different machines - one 
running Windows2003 Web Edition and the other running 
Windows 2000. I installed the latest version of Python 
on both machines (2.3.2).

The program basically runs, but whenever I want to train 
it through the web-admin interface I get Server errors.

Did I do something wrong ? Installation seemed pretty 
simple... Please write any ideas to fm at neodelight.com

Now - here's some examples of the errors, I always get:
-----------------------------------------------------
Training... 
500 Server error
Traceback (most recent call last):

  File "C:\spambayes\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\spambayes\spambayes\UserInterface.py", line 
388, in onTrain
    classifier.learn(tokens, isSpam)

  File "C:\spambayes\spambayes\classifier.py", line 211, 
in learn
    self._add_msg(wordstream, is_spam)

  File "C:\spambayes\spambayes\classifier.py", line 337, 
in _add_msg
    record = self._wordinfoget(word)

  File "C:\spambayes\spambayes\storage.py", line 250, in 
_wordinfoget
    r = self.db.get(word)

  File "C:\Python23\lib\shelve.py", line 110, in get
    if self.dict.has_key(key):

AttributeError: 'int' object has no attribute 'has_key'

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

500 Server error
Traceback (most recent call last):

  File "C:\spambayes\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\spambayes\spambayes\UserInterface.py", line 
258, in onClassify
    results = self._buildCluesTable(message)

  File "C:\spambayes\spambayes\UserInterface.py", line 
269, in _buildCluesTable
    evidence=True)

  File "C:\spambayes\spambayes\classifier.py", line 158, 
in chi2_spamprob
    clues = self._getclues(wordstream)

  File "C:\spambayes\spambayes\classifier.py", line 391, 
in _getclues
    record = self._wordinfoget(word)

  File "C:\spambayes\spambayes\storage.py", line 250, in 
_wordinfoget
    r = self.db.get(word)

  File "C:\Python23\lib\shelve.py", line 110, in get
    if self.dict.has_key(key):

AttributeError: 'int' object has no attribute 'has_key'

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

500 Server error
Traceback (most recent call last):

  File "C:\spambayes\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\spambayes\spambayes\UserInterface.py", line 
336, in onWordquery
    wordinfo = classifier._wordinfoget(word)

  File "C:\spambayes\spambayes\storage.py", line 250, in 
_wordinfoget
    r = self.db.get(word)

  File "C:\Python23\lib\shelve.py", line 110, in get
    if self.dict.has_key(key):

AttributeError: 'int' object has no attribute 'has_key'

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

500 Server error
Traceback (most recent call last):

  File "C:\spambayes\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\spambayes\spambayes\ProxyUI.py", line 462, in 
onShowclues
    results = self._buildCluesTable(message, subject)

  File "C:\spambayes\spambayes\UserInterface.py", line 
269, in _buildCluesTable
    evidence=True)

  File "C:\spambayes\spambayes\classifier.py", line 158, 
in chi2_spamprob
    clues = self._getclues(wordstream)

  File "C:\spambayes\spambayes\classifier.py", line 391, 
in _getclues
    record = self._wordinfoget(word)

  File "C:\spambayes\spambayes\storage.py", line 250, in 
_wordinfoget
    r = self.db.get(word)

  File "C:\Python23\lib\shelve.py", line 110, in get
    if self.dict.has_key(key):

AttributeError: 'int' object has no attribute 'has_key'

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

Training... Trained on 3 messages. Saving... 

500 Server error
Traceback (most recent call last):

  File "C:\spambayes\spambayes\Dibbler.py", line 453, in 
found_terminator
    getattr(plugin, name)(**params)

  File "C:\spambayes\spambayes\ProxyUI.py", line 324, in 
onReview
    self._doSave()

  File "C:\spambayes\spambayes\UserInterface.py", line 
470, in _doSave
    classifier.store()

  File "C:\spambayes\spambayes\storage.py", line 229, in 
store
    self._write_state_key()

  File "C:\spambayes\spambayes\storage.py", line 233, in 
_write_state_key
    self.db[self.statekey] = (classifier.PICKLE_VERSION,

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

TypeError: object does not support item assignment



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

Comment By: Andy Lange (andylange)
Date: 2003-10-10 09:06

Message:
Logged In: YES 
user_id=884085

I was getting the same, but stopping and restarting the
service (under Windows XP, at least) fixed it when training
on an mbox.  It also allowed me to train (via cut and paste
into the textbox) a message that had previously generated
the same errors.

It appears that something is happening to the SpamBayes
process which breaks self.dict, and it is then unable to
train until it is restared.  I haven't figured out a minimal
series of actions to get it into this state, but I believe
it includes training on proxied messages (confirming what
the filter has thought of the various messages)

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

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



More information about the Spambayes-bugs mailing list