Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#1936 - Spamassassin's Bayesian classifier cannot be trained

Attached to Project: Arch Linux
Opened by xxx (geekux) - Wednesday, 29 December 2004, 11:09 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7 Wombat
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

I am running spamassassin-3.0.1-1, perl-5.8.6-1, db-4.3.21-1.

When trying to train the Bayesian classifier via:

sa-learn --spam --mbox --showdots Mail/spam

[where Mail/spam is of course in the mbox format]
I get:

Use of uninitialized value in numeric gt (>) at /usr/lib/perl5/5.8.6/i686-linux-thread-multi/DB_File.pm line 270.
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/O: tie failed:
Use of uninitialized value in numeric gt (>) at /usr/lib/perl5/5.8.6/i686-linux-thread-multi/DB_File.pm line 270.
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device
Use of uninitialized value in numeric gt (>) at /usr/lib/perl5/5.8.6/i686-linux-thread-multi/DB_File.pm line 270.
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device
Use of uninitialized value in numeric gt (>) at /usr/lib/perl5/5.8.6/i686-linux-thread-multi/DB_File.pm line 270.
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device

Learned from 0 message(s) (1 message(s) examined).
ERROR: the Bayes learn function returned an error, please re-run with -D for more information

Re-running w/ -D didn't seem to give me any helpful output.

I edited /usr/lib/perl5/5.8.6/i686-linux-thread-multi/DB_File.pm and set $db_version to 2 manually; after that, i got the following output when running sa-learn w/ the parameters mentioned above:

Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/O: tie failed:
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device
Cannot open bayes databases /home/richard/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device

Learned from 0 message(s) (1 message(s) examined).
ERROR: the Bayes learn function returned an error, please re-run with -D for more information

I am not sure whether this is a SA, Perl or DB problem.

This task depends upon

Closed by  Jan de Groot (JGC)
Wednesday, 29 December 2004, 12:06 GMT
Reason for closing:  Not a bug
Comment by xxx (geekux) - Wednesday, 29 December 2004, 11:12 GMT
I just downgraded to db-4.2.52-1, and everything works just fine.

So this is definitely not an SA, but a DB or DB/Perl problem.
Comment by Jan de Groot (JGC) - Wednesday, 29 December 2004, 12:06 GMT
DB file format has changed between db 4.2 and 4.3. You need to upgrade your bayes database when switching to db 4.3

Loading...