Spam Assassin Down & Will Not Restart

[root@web01 ~]# service spamassassin restart
Stopping spamd:                                            [FAILED]
Starting spamd: child process [17581] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588.
                                                           [FAILED]
[root@web01 ~]# tail /var/log/maillog
Aug 21 12:39:27 web01 spamd[17579]: logger: removing stderr method
Aug 21 12:39:27 web01 spamd[17581]: List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/XSLoader.pm line 94.
Aug 21 12:39:27 web01 spamd[17581]: List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/XSLoader.pm line 94.
Aug 21 12:39:27 web01 spamd[17581]: Compilation failed in require at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/Scalar/Util.pm line 11.
Aug 21 12:39:27 web01 spamd[17581]: List::Util object version 1.21 does not match bootstrap parameter 1.25 at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/XSLoader.pm line 94.
Aug 21 12:39:27 web01 spamd[17581]: Compilation failed in require at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/Scalar/Util.pm line 11.
Aug 21 12:39:27 web01 spamd[17581]: Compilation failed in require at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/File/Spec/Unix.pm line 151.
Aug 21 12:39:28 web01 spamd[17579]: child process [17581] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588.

A bit of "Google" suggests the issue is a version problem between the Perl that SA expects and the one loaded on the machine. However, it seems I'm running the "Virtualmin" current version of Perl:

[root@web01 ~]# yum list perl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.facebook.net
* extras: centos.unmeteredvps.net
* updates: mirror.beyondhosting.net
Installed Packages
perl.i386                                                    4:5.8.8-40.el5_9                                                  installed
perl.x86_64                                                  4:5.8.8-40.el5_9                                                  installed

[root@web01 ~]# yum upgrade perl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.facebook.net
* extras: centos.unmeteredvps.net
* updates: mirror.beyondhosting.net
Setting up Upgrade Process
No Packages marked for Update

Reinstalling Spam Assassin did not correct the issue, either.

Suggestions?

Status: 
Active

Comments

Howdy -- SpamAssassin and Perl both come from the CentOS repository.

We've occasionally seen a problem on CentOS 5 systems where the OS gets confused, and incorrectly installs both a 32 bit and 64 bit version of Perl.

There's some details about the problem, and how to resolve it, here in the section "Why Is 32bit Perl installed on my 64bit CentOS System":

https://www.virtualmin.com/documentation/system/faq

Let us know if that resolves the problem you're seeing.

Hi, Andrey.

I did have both the .386 and x86_64 versions of Perl installed for some reason, so I removed the i386 version.

[root@web01 ~]# perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

[root@web01 ~]# service spamassassin start
Starting spamd: child process [26515] exited or timed out without signaling production of a PID file: exit 255 at /usr/bin/spamd line 2588.
                                                           [FAILED]

"mail log" shows the same error as before.

Next thing to check?

Hmm, I was doing some research on that problem, and ran into someone in the Virtualmin forums who ran into that issue a few years ago, on CentOS 5.

What we ultimately figured out was that a third party version of SpamAssassin had been pulled into their system, and it was causing some problems.

It might be good to rule that out, as we do see a lot of issues when third party repositories are enabled.

What output does this command produce:

rpm -qa | grep spamassassin

[root@web01 ~]# rpm -qa | grep spamassassin
spamassassin-3.3.1-2.el5

Ah, I'm glad you figured it out!

So it was a matter of manually installing the Scalar::Util Perl module straight from CPAN, rather than using the CentOS version?

Yep. Pretty much. A bit of minor error-killing required to start with, but ultimately, that's the story.