Package: Spamassassin Version: 3.4.1 Severity: <Important> The issue appears to be something with spam assassin 3.4.1 and one of its modules URILocalBL.
This is submitted to the SpamAssassin team as well ID: 7560 https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7560 I am running Debian 4.9.51-1 root@server1:/var/log# cpanm Geo::IP Geo::IP is up to date. (1.51) root@server1:/var/log# cpanm Mail::SpamAssassin Mail::SpamAssassin is up to date. (3.004001) uname -a Linux server1 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux I am getting the following error spamming my logs and it won't run the URILocalBL.pm module. Now this comes from my /var/log/mail.log Feb 21 10:18:21 server1 spamd[29378]: plugin: failed to parse plugin (from @INC): Experimental each on scalar is now forbidden at /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line $ Feb 21 10:18:21 server1 spamd[29378]: Compilation failed in require at (eval 118) line 1, <DATA> line 717. Feb 21 10:18:22 server1 spamd[29378]: netset: cannot include 127.0.0.0/8 as it has already been included Feb 21 10:18:23 server1 spamd[29378]: zoom: able to use 347/347 'body_0' compiled rules (100%) Feb 21 10:18:28 server1 spamd[29378]: spamd: server started on IO::Socket::IP [::1]:783, IO::Socket::IP [127.0.0.1]:783 (running version 3.4.1) Feb 21 10:18:28 server1 spamd[29378]: spamd: server pid: 29378 Feb 21 10:18:28 server1 spamd[29378]: spamd: server successfully spawned child process, pid 29382 Feb 21 10:18:28 server1 spamd[29378]: spamd: server successfully spawned child process, pid 29384 Feb 21 10:18:28 server1 spamd[29378]: prefork: child states: IS Feb 21 10:18:28 server1 spamd[29378]: prefork: child states: II root@server1:/etc/spamassassin# spamassassin --lint Feb 21 11:05:33.649 [4736] warn: plugin: failed to parse plugin (from @INC): Experimental each on scalar is now forbidden at /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA> line 717. Feb 21 11:05:33.649 [4736] warn: Compilation failed in require at (eval 158) line 1, <DATA> line 717. Feb 21 11:05:34.191 [4736] warn: netset: cannot include 127.0.0.0/8 as it has already been included root@server1:/etc/spamassassin# spamassassin -V SpamAssassin version 3.4.1 running on Perl version 5.24.1 root@server1:/etc/spamassassin# perl -v This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi (with 75 registered patches, see perl -V for more detail) Copyright 1987-2017, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. root@server1:/etc/spamassassin# which spamasassin root@server1:/etc/spamassassin# which spamassassin /usr/bin/spamassassin root@server1:/etc/spamassassin# cpan -i Geo::IP Loading internal null logger. Install Log::Log4perl for logging messages Reading '/root/.cpan/Metadata' Database was generated on Wed, 21 Feb 2018 05:29:02 GMT Geo::IP is up to date (1.51). Now I have seen this before and the SpamAssassin team claims That this was fixed in Spamassassin 3.4.1 back in 2015. But this error is occurring again https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7208 and https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7332 http://spamassassin.1065346.n5.nabble.com/Bug-7208-New-URILocalBL-fails-to-l oad-td116602.html root@server1:/etc/spamassassin# spamassassin -D --lint 2>&1 | grep -i URILoca -A5 Feb 21 11:20:34.559 [5100] dbg: plugin: loading Mail::SpamAssassin::Plugin::URILocalBL from @INC Feb 21 11:20:34.562 [5100] warn: plugin: failed to parse plugin (from @INC): Experimental each on scalar is now forbidden at /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA> line 717. Feb 21 11:20:34.562 [5100] warn: Compilation failed in require at (eval 158) line 1, <DATA> line 717. Feb 21 11:20:34.562 [5100] dbg: config: fixed relative path: /var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf Feb 21 11:20:34.562 [5100] dbg: config: using "/var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf " for included file Feb 21 11:20:34.562 [5100] dbg: config: read file /var/lib/spamassassin/3.004001/updates_spamassassin_org/10_default_prefs.cf Feb 21 11:20:34.577 [5100] dbg: config: fixed relative path: /var/lib/spamassassin/3.004001/updates_spamassassin_org/10_hasbase.cf Appears to fail well when the module is run directly. perl -c /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm Experimental each on scalar is now forbidden at /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm line 353, <DATA> line 717. Now line 353 of /usr/share/perl5/Mail/SpamAssassin/Plugin/URILocalBL.pm is while (my($host, $domain) = each $info->{hosts}) { This is more of the code in the same area in URILocalBL.pm # look for W3 links only next unless (defined $info->{types}->{a}); while (my($host, $domain) = each $info->{hosts}) { # skip if the domain name was matched if (exists $rule->{exclusions} && exists $rule->{exclusions}->{$domain}) { dbg("check: uri_local_bl excludes %s as *.%s\n", $host, $domain); next; }

