https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8303
Bug ID: 8303
Summary: sa-learn crash ( sort of ) when dealing with
compressed files > max_size
Product: Spamassassin
Version: 4.0.1
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Learner
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: Undefined
After upgrading to 4.0.1 I've noticed that my sa-learn script was getting this
output:
bzip2: I/O or other error, bailing out. Possible reason follows.
bzip2: Broken pipe
Input file =
/tmp/ham/cur//1709112771.M515865P31750.puma,S=562472,W=570714:2,S, output file
= (stdout)
error closing input file: at
/usr/share/perl5/vendor_perl/Mail/SpamAssassin/ArchiveIterator.pm line 388. at
/usr/bin/sa-learn line 499.
and stops to the first encountered error.
( My sa-learn script is as easy as sa-learn --ham /tmp/ham/cur/* )
The imap file ( in this case ) is a compressed one:
file /tmp/ham/cur/1709112771.M515865P31750.puma\,S\=562472\,W\=570714\:2\,S
/tmp/ham/cur/1709112771.M515865P31750.puma,S=562472,W=570714:2,S: bzip2
compressed data, block size = 600k
ls -l /tmp/ham/cur/1709112771.M515865P31750.puma\,S\=562472\,W\=570714\:2\,S
-rw------- 1 root root 300775 Dec 29 07:43
'/tmp/ham/cur/1709112771.M515865P31750.puma,S=562472,W=570714:2,S'
etracting:
bzcat /tmp/ham/cur/1709112771.M515865P31750.puma\,S\=562472\,W\=570714\:2\,S >
EXTRACTED
ls -l EXTRACTED
-rw-r--r-- 1 root root 562472 Dec 29 07:44 EXTRACTED
and the max-size default value is 500K
The message is at least scaring, basically due to the "die" in the code :
'close $fh or die "error closing input file: $!";'
The easier workaround, to avoid the message is to simply add --max-size 0 to
the script for sa-learn, also if it is a risk in itself ( some messages could
even be too big leading to high cpu or ram usage, you know ).
Running with -D I get the following:
...
...
Dec 29 07:51:11.334 [23730] dbg: archive-iterator: detected bzip2 file
/tmp/ham/cur/1709112771.M515865P31750.puma,S=562472,W=570714:2,S, reopening
with bzip2
Dec 29 07:51:11.396 [23730] info: archive-iterator: skipping large message:
read 524288, limit 512000 bytes
and then the usual message:
bzip2: I/O or other error, bailing out. Possible reason follows.
bzip2: Broken pipe
Input file =
/tmp/ham/cur/1709112771.M515865P31750.puma,S=562472,W=570714:2,S, output file =
(stdout)
Learned tokens from 0 message(s) (0 message(s) examined)
Dec 29 07:51:11.398 [23730] dbg: plugin:
Mail::SpamAssassin::Plugin::Bayes=HASH(0x55c937f66f90) implements
'learner_close', priority 0
Dec 29 07:51:11.398 [23730] dbg: bayes: untie-ing
Dec 29 07:51:11.406 [23730] dbg: bayes: files locked, now unlocking lock
Dec 29 07:51:11.406 [23730] dbg: locker: safe_unlock: unlink
/var/spamassasin/bayes.lock
error closing input file: at
/usr/share/perl5/site_perl/Mail/SpamAssassin/ArchiveIterator.pm line 388. at
/usr/bin/site_perl/sa-learn line 499.
--
You are receiving this mail because:
You are the assignee for the bug.