You are not logged in.
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?
Thanks in advance for the effort
Patrick
Last edited by Hantilles (2012-06-07 18:39:36)
Offline
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
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
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
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