You are not logged in.

#1 2012-06-07 13:28:31

Hantilles
Member
Registered: 2012-06-07
Posts: 3

[solved] Perl Upgrade breaks Spamassassin

Hi there,

I'm not entirely sure, if this is the right way to bring up this issue, but please be indulge.

I'm running Arch Linux on a small virtual server doing my e-mail. I run postfix and use spamassassin for filtering. Since yesterday I catched that spamassassin wasn't writing any headers to my mails anymore and more spam came through. A quick investigation showed messages like this in /var/log/spam.log

Thu Jun  7 13:59:36 2012 [12692] info: spamd: connection from xxxxxxx [127.0.0.1] at port 39172
Thu Jun  7 13:59:36 2012 [12692] warn: spamd: Can't locate auto/POSIX/SigAction/new.al in @INC (@INC contains: lib /usr/share/perl5/vendor_perl /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Util.pm line 1566
Thu Jun  7 13:59:36 2012 [1194] info: prefork: child states: II

After downgrading Perl from recently installed 5.16.0 back to 5.14.2, the problems disappeared. I know that upgrading perl involves the need of rebuilding some modules. Unfortunately I don' t know, how this would be done relating to my installation of spamassassin. I thought, that this should not be necessary for packages installed from default repositories?

Actually I really don't know, how much of this error is directly related to module problems or anything. So: is there anyone experiencing similar problems or knowing, what could have gone wrong with my setup? Or someone, who would know where and how exactly to file this problem? Or someone who solved it? wink

Thanks in advance for the effort
Patrick

Last edited by Hantilles (2012-06-07 18:39:36)

Offline

#2 2012-06-07 15:25:10

juster
Forum Fellow
Registered: 2008-10-07
Posts: 195

Re: [solved] Perl Upgrade breaks Spamassassin

You have an extra, older copy of the POSIX module installed somewhere. Use the script below to find where it is and destroy it:

[juster@artemis ~]$ cat ~/bin/pmpath
#!/usr/bin/env perl
$m = shift or die "usage: pmpath [module name]\n";
eval "require $m" or die "pmpath: bad module: $!\n";
$m =~ s{::}{/}g;
print $INC{"$m.pm"}, "\n";
[juster@artemis ~]$ pmpath POSIX
/usr/lib/perl5/core_perl/POSIX.pm # <-- This is the value you want, delete POSIX.pm if it is not in core_perl
[juster@artemis ~]$ 

The new version of POSIX that is bundled with perl 5.16.0 does not use those lame .al files. The version bundled with perl is under /usr/lib/perl5/core_perl. Do not delete a core_perl path. If it says */core_perl/* then I am mistaken. The script will probably output a site_perl path...

Offline

#3 2012-06-07 15:44:55

Hantilles
Member
Registered: 2012-06-07
Posts: 3

Re: [solved] Perl Upgrade breaks Spamassassin

Oh, I'm sorry. Obviously I had to re-upgrade to 5.16.0 for this but the problem I had with spamassassin did not appear again. Sorry for the flurry.

[EDIT:] The output your script generates was the same as yours, finding only /usr/lib/perl5/core_perl/POSIX.pm. Apart from that no similar warnings appeared in /var/log/spam.log when receiving mail as before. Received mail also contains spamassassins headers now.

I'm not sure, if not somehow it will reappear because of some similar mechanism and if yes, I will try to use your script. The funny thing is, that reinstalling perl 5.16.0 previously didn't make the problem disappear.

But still thank you very much for your help! I think the topic can be considered solved for now…

Last edited by Hantilles (2012-06-07 15:48:05)

Offline

#4 2012-06-07 16:20:31

juster
Forum Fellow
Registered: 2008-10-07
Posts: 195

Re: [solved] Perl Upgrade breaks Spamassassin

Now that I think of it, you might have only needed to restart spamassassin. But sure, you're welcome.

edit: if you consider this solved, please edit in something like [solved] to the thread title.

Last edited by juster (2012-06-07 16:22:36)

Offline

#5 2012-06-07 18:39:19

Hantilles
Member
Registered: 2012-06-07
Posts: 3

Re: [solved] Perl Upgrade breaks Spamassassin

Well, currently spamassassin does not run as daemon here, but is run by postfix as filter.

Would already have changed the thread title, if I found earlier, where to change it, but will do so know. Thanks again.

Offline

Board footer

Powered by FluxBB