ACK!!!!!!!!

So I'm trying to do my regular Friday ritual of training Bayes, and everything was going fine:

# sa-learn --showdots --spam --mbox 'SPAM_False_Negatives.mbox'
.... {*snip*}
Learned from 262 message(s) (290 message(s) examined).

# sa-learn --showdots --ham --mbox 'SPAM_False_Positives.mbox'
............
Learned from 12 message(s) (12 message(s) examined).

# sa-learn --showdots --ham --mbox '! Ham.mbox'
.... {*snip*}
Learned from 435 message(s) (446 message(s) examined).


Until it barfed oddly:

# sa-learn --showdots --spam --mbox Caught_Spam.mbox
.... {*snip*}
Learned from 1981 message(s) (3500 message(s) examined).
unlock: 9771 unlink failed: /root/.spamassassin/bayes.lock


There's no /root/.spamassassin/bayes.lock file, so I'm not sure why it couldn't unlock it, unless sa-learn didn't make it in the first place... so what's up with that?


Then I went to check on the total number of learned spam/ham:

# sa-learn --dump magic
{*snip*}
0.000          0         18          0  non-token data: nspam
0.000          0          0          0  non-token data: nham
0.000          0        360          0  non-token data: ntokens
{*snip*}


What the?!?!??! Where'd all my learned stuff go???

# spamassassin -D --lint
{*snip*}
debug: bayes: 10314 tie-ing to DB file R/O /root/.spamassassin/bayes_toks
debug: bayes: 10314 tie-ing to DB file R/O /root/.spamassassin/bayes_seen
debug: bayes: found bayes db version 2
debug: bayes: Not available for scanning, only 19 spam(s) in Bayes DB < 200
{*snip*}

So my Bayes is completely gone (more importantly: essentially turned OFF!)?

But there's stuff there:

# ls -l /root/.spamassassin/
total 113708
-rw-------    1 root     mail     84168704 Feb  2 11:52 auto-whitelist
-rw-------    1 root     mail     34885632 Feb 27 15:00 auto-whitelist.db
-rw-------    1 root     mail     10481664 Feb 27 15:00 bayes_seen
-rw-------    1 root     mail      5611520 Feb 27 15:00 bayes_toks
-rw-r--r--    1 root     mail         1218 Jan  2 14:47 user_prefs


So now I'm re-training on my two IMAP archives of what I had previously trained it with. I just fed it 30374 spam messages. But this kept scrolling across my screen over and over and over:


Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/BayesStore.pm line 1267.
Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/BayesStore.pm line 1267.
Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/BayesStore.pm line 1267.
Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/BayesStore.pm line 1267.


And when it finished:

Learned from 327 message(s) (30386 message(s) examined).
unlock: 10665 unlink failed: /root/.spamassassin/bayes.lock

What's going on here? (And no, we haven't done anything to perl. This machine pretty much sits there and minds its own business. The only "changes" I make to it are to update custom .cf files and to train bayes.)

I get the same BayesStore.pm error when trying to feed it the 2824 ham messages I have archived. But it didn't puke with a unlink message:

Learned from 18 message(s) (2827 message(s) examined).

Now I'm up to a whoppingly unuseful message count that won't enable bayes:

0.000          0         26          0  non-token data: nspam
0.000          0         18          0  non-token data: nham


This is JUST what I need at 3pm on a Friday.

ANY clues as what the hell happened and how to (quickly) fix it?

This sucks.

--JR












Reply via email to