[Spambayes] [ spambayes-Bugs-651365 ] getattr recursion in Corpus.py

noreply at sourceforge.net noreply at sourceforge.net
Tue Dec 10 02:42:06 EST 2002


Bugs item #651365, was opened at 2002-12-10 11:42
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=498103&aid=651365&group_id=61702

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Wolfgang Strobl (strobl)
Assigned to: Nobody/Anonymous (nobody)
Summary: getattr recursion in Corpus.py

Initial Comment:
After feeding a bunch of new messages into pop3proxy, 
classifying them and when trying to save the result, I got 
a recursion loop (followed by recursion depth exceeded) 
in \cvshome\spambayes\Corpus.py|__getattr__|269]

After looking into setSubstance, I noticed that 
setSubstance (called by load) only sets the attributes 
payload and hdrtext when the pattern matches. 

I temporarily added an else clause to bmatch, i.e.

     if bmatch:
            self.payload = bmatch.group(2)
            self.hdrtxt = sub[:bmatch.start(2)]
            print ".",
        else:
            self.payload = "nix\r\n"
            self.hdrtxt="nix\r\n"
            print "?", len(sub),

and indeed, when trying to save, I notice that after about 
800 good messages, ~ 100 have an empty message, 
see the output below. 

I don't really know what I'm doing here, but at this fix at 
least allows me to continue.

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

C:\archiv\cvshome\spambayes>python -u pop3proxy.py -
l 8110 mail.gmd.de
Loading database... Done.
Listener on port 8110 is proxying mail:110
User interface url is http://localhost:8880
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 ? 0 ? 0 ? 0 ? 0 ?
0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 
0 . . . . . . . . .
. . . . . .

-----------------------
Initial traceback:

error: uncaptured python exception, closing channel 
<__main__.UserInterface conn
ected at 0x2213470> 
(exceptions.RuntimeError:maximum recursion depth 
exceeded [C
:\Python22\lib\asyncore.py|poll|95] [C:\Python22
\lib\asyncore.py|handle_read_eve
nt|392] [C:\Python22\lib\asynchat.py|handle_read|112] 
[C:\archiv\cvshome\spambay
es\pop3proxy.py|found_terminator|804] 
[C:\archiv\cvshome\spambayes\pop3proxy.py|
onRequest|830] 
[C:\archiv\cvshome\spambayes\pop3proxy.py|onReview|1
093] [C:\arch
iv\cvs\spambayes\Corpus.py|takeMessage|188] 
[C:\archiv\cvs\spambayes\FileCorpus.
py|addMessage|140] 
[C:\archiv\cvs\spambayes\FileCorpus.py|store|231] 
[C:\archiv\
cvs\spambayes\Corpus.py|getSubstance|318] 
[C:\archiv\cvs\spambayes\Corpus.py|__g
etattr__|269] 
[C:\archiv\cvs\spambayes\Corpus.py|__getattr__|269] 
[C:\archiv\cvs
\spambayes\Corpus.py|__getattr__|269] 
[C:\archiv\cvs\spambayes\Corpus.py|__getat



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

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



More information about the Spambayes mailing list