4

Since last package update all my Ubuntu 14.04.1 servers are sending me emails with a Cron warning - subject is

Cron test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync

with a body content

Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 530) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1023) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 532) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1025) line 1.

Do I need to worry about it & how can I solve it? Or can I only wait for Amavis update?

Thanks.

  • Just noticed the same on my Debian Wheezy mail server, from a cron job which calls sa-learn. – andol Nov 29 '14 at 9:40
  • Except that there are no obvious recent package upgrades which should have had any chance to mess this up. Wondering if it might be due to a spamassassin rule upgrade. – andol Nov 29 '14 at 9:42
4

In comments on @cgross answer it looks like I'm not the only one, whom didn't help upgrading SpamAssassin to 3.4.0

So I'll create my own answer from what I've done.


Download the patches with

wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O parser.pm.patch
wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O conf.pm.patch

Switch to root and patch the files

su
patch /usr/share/perl5/Mail/SpamAssassin/Conf/Parser.pm < parser.pm.patch
patch /usr/share/perl5/Mail/SpamAssassin/Conf.pm < conf.pm.patch
  • This is better than patching manually :) – Xdg Nov 30 '14 at 6:50
2

For those using sa-learn: Switch to a newer version of Mail-SpamAssassin (e.g. 3.4.0). If you installed Mail::SpamAssassin using CPAN you can update it like this:

cpan upgrade Mail::SpamAssassin

For everyone else, look at your scripts and try to incorporate the workaround used in Mail-SpamAssassin:

# Store the version for later use
my $mm_version = $ExtUtils::MakeMaker::VERSION;

# avoid stupid 'Argument "6.30_01" isn't numeric in numeric ge (>=)' warnings;
# strip off the beta subversion noise that causes the trouble.
$mm_version =~ s/_\S+$//;      # "6.30_01" => "6.30"

if ($mm_version+0 < 5.45) {
  die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v5.45";
}
  • 1
    Yepp, upgrading SpamAssassin did the trick, even if I'm not sure that the cut-off point is at 3.2.5. Myself I experienced this problem with the Debian Wheezy 3.3.2-5+deb7u1 version, while the Debian Wheezy-Backports version 3.4.0-2~bpo70+1 appear to handle the new SpamAssassin rules properly. – andol Nov 29 '14 at 10:03
  • You were right, I changed the answer to v3.4.0 ;) – cgross Nov 29 '14 at 13:41
  • Mh, I'm on 14.04.1 and updated to 3.40. Still get this error. Any ideas where to add the makefile fix to sa-learn? – GeeF Nov 29 '14 at 16:20
  • 3
    For me upgrading to SpamAssassin 3.4.0-2~bpo70+1 from Wheezy-Backports didn't help. I manually patched /usr/share/perl5/Mail/SpamAssassin/Conf/Parser.pm and /usr/share/perl5/Mail/SpamAssassin/Conf.pm with the patch mentioned in https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1285532.html – Germar Nov 29 '14 at 17:53
  • On Ubuntu my spamassassin received 3.4.0 update with apt-get but I still see this error. Thank you @Germar for the patch details, very helpful. – Andrew Savinykh Nov 29 '14 at 20:22
1

This is a warning, not a fatal error. It can be safely ignored. It is due to a recent rule update using a SA conditional that has been added to trunk but not released yet.

Germar's answer will fix the problem but may not be acceptable for those who want to stay with pure distro code.

I don't know how quickly distros will incorporate the SA changes: https://svn.apache.org/viewvc?view=revision&revision=1642207

The rule in question has been disabled in the rule sandbox, it will (hopefully) go out in updates by tonight (2014-11-30) and this warning should then stop.

  • November just has 30 days ;-) – Germar Nov 30 '14 at 19:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.