sa-update broken ?

Hi, spamassassin is not updating. When I manually run sa-update - I get:

sa-update http: GET 3.3 request failed: 400 URL must be absolute: 400 URL must be absolute error: no mirror data available for channel updates.spamassassin.org channel: MIRRORED.BY contents were missing, channel failed

I have rebooted and nothing changed. What can fix this please?

Status: 
Active

Comments

Howdy -- it's possible that you are seeing this issue, described on the SpamAssassin mailing list:

https://mail-archives.apache.org/mod_mbox/spamassassin-users/201502.mbox...

Does deleting the "MIRRORED.BY" file they refer to help with the situation you're seeing?

Also, I see some references that mention that certain versions of a Perl module can trigger a bug in some SpamAssassin versions. That issue is described here:

http://www.gossamer-threads.com/lists/spamassassin/devel/191975

That is an issue with the Net::DNS module. Is it possible that the Net::DNS module was changed recently?

Hi, I have spent the whole morning googling suggested fixes before I contacted you. I have deleted the /version sub directory from spamassassin (as suggested) and then ran sa-update which is supposed to repopulate, but it still fails. Perhpaps Net::DNS was updated in yum updates? How can this be fixed now please?

I haven't actually run into that problem before, so we're just guessing as to what the issue might be.

However, to explore the Net::DNS possibility, what output do you receive if you run these commands:

perl -MNet::DNS -e 'print "$Net::DNS::VERSION\n"'
rpm -qa | grep perl

1.01

perl-OLE-Storage_Lite-0.19-2.el6.noarch perl-XML-SAX-0.96-7.el6.noarch perl-Geography-Countries-2009041301-1.el6.rf.noarch perl-MailTools-2.12-1.el6.rfx.noarch perl-5.10.1-141.el6_7.1.x86_64 perl-IO-Zlib-1.09-141.el6_7.1.x86_64 perl-Bit-Vector-7.1-2.el6.x86_64 perl-IP-Country-2.27-1.el6.rf.noarch perl-HTML-Parser-3.69-1.el6.rfx.x86_64 perl-Convert-UUlib-1.5-1.el6.x86_64 perl-URI-1.60-1.el6.rfx.noarch perl-MIME-Lite-3.029-1.el6.rfx.noarch perl-Crypt-OpenSSL-RSA-0.28-1.el6.rfx.x86_64 perl-IO-Socket-SSL-1.44-1.el6.rfx.noarch perl-Parse-RecDescent-1.965.1-2.el6.rfx.noarch perl-Parse-Syslog-1.10-1.el6.rf.noarch perl-Encode-Detect-1.01-2.el6.x86_64 perl-version-0.77-141.el6_7.1.x86_64 perl-YAML-0.72-1.el6.rfx.noarch perl-IO-Compress-Base-2.021-141.el6_7.1.x86_64 perl-DBD-MySQL-4.022-1.el6.rfx.x86_64 perl-CGI-3.51-141.el6_7.1.x86_64 perl-Digest-SHA1-2.13-1.el6.rfx.x86_64 perl-Mail-Sendmail-0.79-12.el6.noarch perl-XML-Parser-2.40-1.el6.rfx.x86_64 perl-BSD-Resource-1.2903-1.el6.rfx.x86_64 perl-Net-Server-2.007-2.el6.noarch perl-Socket6-0.23-4.el6.x86_64 perl-Digest-HMAC-1.01-22.el6.noarch perl-IO-stringy-2.110-10.1.el6.noarch perl-Net-IP-1.25-13.el6.noarch perl-IO-Socket-INET6-2.67-1.el6.art.noarch perl-common-sense-3.5-1.el6.noarch perl-ExtUtils-MakeMaker-6.55-141.el6_7.1.x86_64 perl-DBD-SQLite-1.29-2.el6.rfx.x86_64 perl-Digest-SHA-5.47-141.el6_7.1.x86_64 perl-Net-DNS-0.65-5.el6.x86_64 perl-GD-2.45-1.el6.rfx.x86_64 perl-Authen-SASL-2.15-1.el6.rfx.noarch net-snmp-perl-5.5-54.el6_7.1.x86_64 perl-Inline-0.46-1.el6.noarch perl-XML-Filter-BufferText-1.01-8.el6.noarch perl-Filesys-Df-0.92-5.el6.x86_64 perl-Convert-BinHex-1.119-10.1.el6.noarch perl-Text-Iconv-1.7-6.el6.x86_64 perl-Archive-Zip-1.30-2.el6.noarch perl-GDTextUtil-0.86-15.el6.noarch perl-File-Tail-0.99.3-8.el6.noarch perl-XML-Simple-2.18-6.el6.noarch perl-Test-Simple-0.98-1.el6.rfx.noarch perl-Pod-Escapes-1.04-141.el6_7.1.x86_64 perl-MIME-tools-5.502-2.el6.rfx.noarch perl-Module-Pluggable-3.90-141.el6_7.1.x86_64 perl-Git-1.7.12.4-1.el6.rfx.x86_64 perl-devel-5.10.1-141.el6_7.1.x86_64 perl-Convert-TNEF-0.18-1.el6.rf.noarch perl-Compress-Zlib-2.021-141.el6_7.1.x86_64 perl-IO-Tty-1.08-4.el6.x86_64 perl-Date-Calc-6.3-2.el6.noarch perl-CPAN-1.9402-141.el6_7.1.x86_64 perl-String-CRC32-1.4-9.el6.x86_64 perl-libwww-perl-5.837-2.el6.rfx.noarch perl-Mail-DKIM-0.39-1.el6.rfx.noarch perl-NetAddr-IP-4.066-1.el6.rfx.x86_64 perl-Data-Dump-1.15-1.el6.rf.noarch perl-IO-Multiplex-1.13-1.el6.rf.noarch perl-Mail-SPF-2.8.0-2.el6.noarch perl-IO-String-1.08-9.el6.noarch perl-LDAP-0.40-1.el6.noarch perl-Test-Harness-3.23-1.el6.rfx.noarch perl-Pod-Simple-3.13-141.el6_7.1.x86_64 perl-Compress-Raw-Zlib-2.021-141.el6_7.1.x86_64 perl-Archive-Tar-1.58-141.el6_7.1.x86_64 w3perl-3.19-1.el7.centos.noarch perl-XML-SAX-Writer-0.53-1.el6.rfx.noarch perl-Carp-Clan-6.04-1.el6.rfx.noarch perl-GSSAPI-0.28-1.el6.rfx.x86_64 perl-Net-CIDR-0.14-1.el6.noarch perl-XML-LibXML-1.70-5.el6.x86_64 perl-Sys-SigAction-0.11-2.el6.noarch perl-Crypt-OpenSSL-Bignum-0.04-8.1.el6.x86_64 perl-Unix-Syslog-1.1-3.el6.x86_64 perl-HTML-Tagset-3.20-4.el6.noarch subversion-perl-1.7.4-0.1.el6.rfx.x86_64 perl-Test-Pod-1.45-1.el6.rfx.noarch perl-ExtUtils-ParseXS-2.2003.0-141.el6_7.1.x86_64 perl-Package-Constants-0.02-141.el6_7.1.x86_64 perl-BerkeleyDB-0.43-3.el6.x86_64 perl-Net-Ident-1.23-1.el6.rf.noarch perl-XML-NamespaceSupport-1.11-1.el6.rfx.noarch perl-Email-Date-Format-1.002-5.el6.noarch perl-TimeDate-1.16-13.el6.noarch perl-Net-SSLeay-1.36-1.el6.rfx.x86_64 perl-Geo-IP-1.38-6.el6.x86_64 perl-Test-Manifest-1.23-1.el6.rfx.noarch perl-Net-LibIDN-0.12-3.el6.x86_64 perl-Net-DNS-Resolver-Programmable-0.003-10.el6.art.noarch perl-Sys-Hostname-Long-1.4-5.el6.noarch perl-Crypt-OpenSSL-Random-0.04-9.1.el6.x86_64 perl-Crypt-SSLeay-0.57-17.el6.x86_64 perl-GDGraph-1.44-7.el6.noarch rrdtool-perl-1.3.8-7.el6.x86_64 mod_perl-2.0.4-11.el6_5.x86_64 perl-DBI-1.622-1.el6.rfx.x86_64 perl-libs-5.10.1-141.el6_7.1.x86_64 perl-IO-Compress-Zlib-2.021-141.el6_7.1.x86_64 perl-EV-4.03-6.el6.x86_64 perl-Time-HiRes-1.9721-141.el6_7.1.x86_64 perl-Mail-IMAPClient-3.37-1.el6.noarch perl-Convert-ASN1-0.22-1.el6.rfx.noarch perl-Error-0.17015-4.el6.noarch

Okay, that's not the version they were indicating was a problem.

What is the output of this command:

ls -la /var/lib/spamassassin/

ls -la /var/lib/spamassassin/ total 8 drwxr-xr-x 2 root root 4096 Apr 7 09:37 . drwxr-xr-x 38 root root 4096 Apr 7 09:19 ..

I at first thought you might be seeing a directory ownership issue, as apparently some distros use a non-root user for running that command.

However, it appears that on CentOS, that is normal.

Just to be sure though, you might try changing the permissions on that directory to "777", and see if that allows sa-update to work.

Also, what is the output of this command:

rpm -qa | grep spam

changed the directory to 777 - no difference.

rpm -qa | grep spam spamass-milter-0.3.2-4.el6.x86_64 spamassassin-3.3.2-7.el6.art.x86_64

Ah, it looks like your SpamAssassin package came from a third party repository. What if you reinstall the centos version of SpamAssassin, does that resolve the problem you're experiencing?

I had to do that as without that repo, when i tried to do yum install spamassassin - it said no package found? So, I added the atomic repo so I could install it.

so, what should i do to fix this please?

You should install the version of SpamAssassin that comes with CentOS.

The first thing I would do is disable any third party repositories your server has enabled. Those can cause some pretty serious problems.

Once you do that, what output do you receive if you run these commands:

rpm -qa | grep art
yum info spamassassin

so, I disabled atomic.repo - then ran your commands (see below) - then removed spamassassin , now when I go to install it again - I go back to 'no package found !!!.

rpm -qa | grep art mysqlclient16-5.1.59-2.el6.art.x86_64 libc-client-2007e-11.el6.art.x86_64 mysql-libs-5.5.48-33.el6.art.x86_64 sqlite-3.7.9-1.el6.art.x86_64 atomic-release-1.0-20.el6.art.noarch mysql-server-5.5.48-33.el6.art.x86_64 ossec-hids-server-2.8.2-49.el6.art.x86_64 perl-IO-Socket-INET6-2.67-1.el6.art.noarch clamd-0.99.1-27.el6.art.x86_64 razor-agents-2.85-1.el6.art.x86_64 libedit-3.0-2.20090923cvs.el6.art.x86_64 mhash-0.9.9.9-3.el6.art.x86_64 upstart-0.6.5-13.el6_5.3.x86_64 spamassassin-3.3.2-7.el6.art.x86_64 mysql-5.5.48-33.el6.art.x86_64 clamav-devel-0.99.1-27.el6.art.x86_64 pyzor-0.5.0-4.el6.art.noarch clamav-0.99.1-27.el6.art.x86_64 ossec-hids-2.8.2-49.el6.art.x86_64 libmnl-1.0.3-4.el6.art.x86_64 perl-Net-DNS-Resolver-Programmable-0.003-10.el6.art.noarch libart_lgpl-2.3.20-5.1.el6.x86_64 mysql-devel-5.5.48-33.el6.art.x86_64 [root@hosting yum.repos.d]# yum info spamassassin Loaded plugins: fastestmirror, priorities Determining fastest mirrors epel/metalink | 3.0 kB 00:00 * base: centos.mirror.serversaustralia.com.au * centosplus: centos.mirror.serversaustralia.com.au * epel: fedora.uberglobalmirror.com * extras: centos.mirror.serversaustralia.com.au * remi: remi.conetix.com.au * remi-php56: remi.conetix.com.au * updates: centos.mirror.serversaustralia.com.au base | 3.7 kB 00:00 base/primary_db | 4.6 MB 00:00 centosplus | 3.4 kB 00:00 centosplus/primary_db | 2.1 MB 00:00 epel | 4.3 kB 00:00 epel/primary_db | 5.9 MB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 37 kB 00:00 remi | 2.9 kB 00:00 remi/primary_db | 1.4 MB 00:00 remi-php56 | 2.9 kB 00:00 remi-php56/primary_db | 202 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 4.6 MB 00:00 upg | 1.9 kB 00:00 upg/primary_db | 14 kB 00:00 virtualmin | 2.5 kB 00:00 virtualmin/primary_db | 87 kB 00:00 virtualmin-universal | 2.5 kB 00:00 virtualmin-universal/primary_db | 33 kB 00:00 Installed Packages Name : spamassassin Arch : x86_64 Version : 3.3.2 Release : 7.el6.art Size : 3.2 M Repo : installed From repo : atomic Summary : Spam filter for email which can be invoked from mail delivery agents URL : http://spamassassin.apache.org/ License : ASL 2.0 Description : SpamAssassin provides you with a way to reduce if not completely eliminate : Unsolicited Commercial Email (SPAM) from your incoming email. It can : be invoked by a MDA such as sendmail or postfix, or can be called from : a procmail script, .forward file, etc. It uses a genetic-algorithm : evolved scoring system to identify messages which look spammy, then : adds headers to the message so they can be filtered by the user's mail : reading software. This distribution includes the spamd/spamc components : which create a server that considerably speeds processing of mail. : : To enable spamassassin, if you are receiving mail locally, simply add : this line to your ~/.procmailrc: : INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc : : To filter spam for all users, add that line to /etc/procmailrc : (creating if necessary).

then, I have downloaded the RPM you mentioned - installed it - started services - ok. I then ran sa-update and same error message: http: GET 3.3 request failed: 400 URL must be absolute: 400 URL must be absolute error: no mirror data available for channel updates.spamassassin.org channel: MIRRORED.BY contents were missing, channel failed

So, here is the bad news... you have a lot of third party repositories enabled (not just Atomic), and a lot of packages installed from the Atomic repository. That can cause very difficult to diagnose problems.

I'm not entirely certain what's causing the problem you're experiencing, but as we've both looked into the common sources of problems that we saw on Google, and it's also not something our users are reporting -- I have a high suspicion that it's related to either the third party SpamAssassin package, or a third party SpamAssassin dependency.

The simplest thing to do for the moment would be to just reinstall SpamAssassin, and give that a shot -- with any luck that will resolve the issue.

But it also seems like you're seeing a deeper CentOS repository issue of some kind.

Either the repositories are conflicting in some way, or your CentOS mirror is missing some packages.

I have never heard of SpamAssassin not being in the CentOS repository, and the Virtualmin install would have failed were that the case.

However, we can manually take a look at that repository and verify that it is indeed there. To do that, what is the output of this command:

cat /etc/yum.repos.d/CentOS*

thank you ! Sorry to be a problem child :( Here:

baseurl=http://vault.centos.org/6.0/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.0-extras] name=CentOS-6.0 - Extras baseurl=http://vault.centos.org/6.0/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.0-contrib] name=CentOS-6.0 - Contrib baseurl=http://vault.centos.org/6.0/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.0-centosplus] name=CentOS-6.0 - CentOSPlus baseurl=http://vault.centos.org/6.0/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.1-base] name=CentOS-6.1 - Base baseurl=http://vault.centos.org/6.1/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.1-updates] name=CentOS-6.1 - Updates baseurl=http://vault.centos.org/6.1/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.1-extras] name=CentOS-6.1 - Extras baseurl=http://vault.centos.org/6.1/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.1-contrib] name=CentOS-6.1 - Contrib baseurl=http://vault.centos.org/6.1/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.1-centosplus] name=CentOS-6.1 - CentOSPlus baseurl=http://vault.centos.org/6.1/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.2-base] name=CentOS-6.2 - Base baseurl=http://vault.centos.org/6.2/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.2-updates] name=CentOS-6.2 - Updates baseurl=http://vault.centos.org/6.2/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.2-extras] name=CentOS-6.2 - Extras baseurl=http://vault.centos.org/6.2/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.2-contrib] name=CentOS-6.2 - Contrib baseurl=http://vault.centos.org/6.2/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.2-centosplus] name=CentOS-6.2 - CentOSPlus baseurl=http://vault.centos.org/6.2/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.3-base] name=CentOS-6.3 - Base baseurl=http://vault.centos.org/6.3/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.3-updates] name=CentOS-6.3 - Updates baseurl=http://vault.centos.org/6.3/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.3-extras] name=CentOS-6.3 - Extras baseurl=http://vault.centos.org/6.3/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.3-contrib] name=CentOS-6.3 - Contrib baseurl=http://vault.centos.org/6.3/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.3-centosplus] name=CentOS-6.3 - CentOSPlus baseurl=http://vault.centos.org/6.3/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.4-base] name=CentOS-6.4 - Base baseurl=http://vault.centos.org/6.4/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.4-updates] name=CentOS-6.4 - Updates baseurl=http://vault.centos.org/6.4/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.4-extras] name=CentOS-6.4 - Extras baseurl=http://vault.centos.org/6.4/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.4-contrib] name=CentOS-6.4 - Contrib baseurl=http://vault.centos.org/6.4/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.4-centosplus] name=CentOS-6.4 - CentOSPlus baseurl=http://vault.centos.org/6.4/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.5-base] name=CentOS-6.5 - Base baseurl=http://vault.centos.org/6.5/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.5-updates] name=CentOS-6.5 - Updates baseurl=http://vault.centos.org/6.5/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.5-extras] name=CentOS-6.5 - Extras baseurl=http://vault.centos.org/6.5/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.5-contrib] name=CentOS-6.5 - Contrib baseurl=http://vault.centos.org/6.5/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.5-centosplus] name=CentOS-6.5 - CentOSPlus baseurl=http://vault.centos.org/6.5/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

-----------------

[C6.6-base] name=CentOS-6.6 - Base baseurl=http://vault.centos.org/6.6/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.6-updates] name=CentOS-6.6 - Updates baseurl=http://vault.centos.org/6.6/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.6-extras] name=CentOS-6.6 - Extras baseurl=http://vault.centos.org/6.6/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.6-contrib] name=CentOS-6.6 - Contrib baseurl=http://vault.centos.org/6.6/contrib/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[C6.6-centosplus] name=CentOS-6.6 - CentOSPlus baseurl=http://vault.centos.org/6.6/centosplus/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=0

[fasttrack] name=CentOS-6 - fasttrack mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=fasttrack&infra=$infra

baseurl=http://mirror.centos.org/centos/$releasever/fasttrack/$basearch/

gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

now what please?

You appear to be seeing a few different issues there. They don't appear to be Virtualmin issues, but we'll do our best to help point you in the right direction.

For the moment, I'm just going to look at the possible issue that the Net::DNS version is the cause of the problem.

It looks like there may be multiple versions of that library installed, and I'd be curious if removing the newer one, and using the standard CentOS one, resolves your issue.

What is the output of this command:

find /usr -name DNS.pm

find /usr -name DNS.pm /usr/lib64/perl5/Net/DNS.pm /usr/share/perl5/vendor_perl/Mail/DKIM/DNS.pm /usr/local/lib64/perl5/AnyEvent/DNS.pm /usr/local/share/perl5/Net/DNS.pm

Okay, and now these commands:

grep "VERSION =" /usr/lib64/perl5/Net/DNS.pm
grep "VERSION =" /usr/local/share/perl5/Net/DNS.pm
rpm -qf  /usr/lib64/perl5/Net/DNS.pm
rpm -qf /usr/local/share/perl5/Net/DNS.pm

grep "VERSION =" /usr/lib64/perl5/Net/DNS.pm $VERSION = '0.65'; $SVNVERSION = (qw$LastChangedRevision: 796 $)[1];

grep "VERSION =" /usr/local/share/perl5/Net/DNS.pm $SVNVERSION = (qw$LastChangedRevision: 1374 $)[1];

rpm -qf /usr/lib64/perl5/Net/DNS.pm perl-Net-DNS-0.65-5.el6.x86_64

rpm -qf /usr/local/share/perl5/Net/DNS.pm file /usr/local/share/perl5/Net/DNS.pm is not owned by any package

Hmm, the output of the one command isn't what I expected to see... could you try this instead, hopefully this will show more version information:

grep VERSION  /usr/local/share/perl5/Net/DNS.pm

grep VERSION /usr/local/share/perl5/Net/DNS.pm use vars qw($VERSION $SVNVERSION); $VERSION = '1.01'; $SVNVERSION = (qw$LastChangedRevision: 1374 $)[1]; sub version { $VERSION; }

There we go, try renaming that last file,"/usr/local/share/perl5/Net/DNS.pm", to something like "/usr/local/share/perl5/Net/DNS.pm.orig". After that, are you able to run the sa-update program?

no, I"m not sorry :(

mv /usr/local/share/perl5/Net/DNS.pm /usr/local/share/perl5/Net/DNS.pm.orig

sa-update http: GET 3.3 request failed: 400 URL must be absolute: 400 URL must be absolute error: no mirror data available for channel updates.spamassassin.org channel: MIRRORED.BY contents were missing, channel failed

Okay, that looks like it's not related to the newer Net::DNS module then.

Just to verify that we have the correct SpamAssassin installed now, what is the output of this command:

rpm -qa | grep spamassassin

rpm -qa | grep spamassassin spamassassin-3.3.1-3.el6.x86_64

Yup, that does look good.

I'm unfortunately running out of ideas as to what else to try.

That doesn't seem to be a Virtualmin-related issue you're experiencing. We also haven't run into that before. While there are SpamAssassin users on Google who have seen this, none of the common solutions there seemed to help.

While it's difficult to say for sure, chances are that it's related to one of the third party packages on your system, or maybe a config file they left behind.

You could always try replacing the various third party packages installed on your system with default CentOS packages, to see if that helps.

Other than that -- as a workaround, if you have another working CentOS 6 system, you could always just copy in /var/lib/spamassassin from one of them on a regular basis.

You could also ask in the SpamAssassin community to see if they have any ideas.

But if one of those options doesn't help, you may need to hire a sysadmin who can log in and track down the culprit.

I suppose another option is that if you were considering a upgrading to a newer distro at any point, you could always migrate your domains to another server. That may be an extreme step if you weren't looking to upgrade anytime soon, but if you were considering that anyhow, doing that sooner rather than later could resolve that problem for you.

thanks. What are the stock standard distros' that I am supposed to have with a vanilla virtualmin install please?

Are you asking which distros Virtualmin supports? There's a list of all the supported distros here, we would recommend one of the Grade A distros:

https://www.virtualmin.com/os-support.html

We usually recommend either CentOS or Ubuntu.

If you have any questions regarding that list, feel free to let us know.

no, I am using centos 6.7. So, which repositories should I have that come with virtualmin and centos 6.7 - so, I'll remove the rest. It is a bit of a mess and I can't remember what the originals were.

no, I am using centos 6.7. So, which repositories should I have that come with virtualmin and centos 6.7 - so, I'll remove the rest. It is a bit of a mess and I can't remember what the originals were.

What output do you see if you run this command:

ls /etc/yum.repos.d

In general, the ones you want begin with "CentOS-", and the virtualmin.repo file.

You'd probably want to disable the various remi repositories, and perhaps EPEL as well.

CentOS-Base.repo RPM-GPG-KEY.atomicorp.txt mirrors-rpmforge-testing CentOS-Debuginfo.repo atomic.repo.old remi-php70.repo CentOS-Media.repo epel-testing.repo remi-safe.repo.ol CentOS-Vault.repo epel.repo remi.repo CentOS-fasttrack.repo mirrors-rpmforge upgradetool.repo RPM-GPG-KEY.art.txt mirrors-rpmforge-extras virtualmin.repo

Yeah I think that's what I'd do, disable all the .repo files, except for the ones beginning with CentOS-, and the virtualmin.repo file.

ok have done that - but sa-update still fails.

sa-update http: GET 3.3 request failed: 400 URL must be absolute: 400 URL must be absolute error: no mirror data available for channel updates.spamassassin.org channel: MIRRORED.BY contents were missing, channel failed

ls /etc/yum.repos.d CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-fasttrack.repo oldrepos virtualmin.repo

Unfortunately, my suggestion wasn't actually to just disable the repos -- it was to uninstall all the packages that were installed from the third party repos, and replace them with the default packages from the CentOS repos.

That is not a simple process, unfortunately.

Even if you manage to do that, it's possible that config files have been left behind from the alternate packages that are causing problems.

Also, there are custom Perl modules that have been installed into /usr/local that may be causing problems too.

It may be a lot easier to grab the contents of /var/lib/spamassassin from a working server.

thanks - but I don't have access to another server. Is there anyway you can supply those files zipped up that I can download - or ssh into my server to copy over?

Sorry I don't have a CentOS 6 distro running, and the files included with other distros may not be compatible.

What you could always do is use a tool like VirtualBox to install a test VM on your desktop, and then you could install CentOS 6 into that... at which point you could begin regularly copying those files over.