Problem with Perl 5.8 -> 5.10 upgrade

mailscanner at bengrimm.net mailscanner at bengrimm.net
Mon Mar 30 13:53:58 IST 2009


Hi guys, hope you can shed some light on this:

Platform: FreeBSD 7.1-STABLE
Version: MailScanner-4.67.6_4 (latest version in ports)
With: clamav-0.95, bdc-7.0.1_2, p5-Mail-SpamAssassin-3.2.5_2
Perl: 5.10 (no problems with exact same config under perl 5.8)

----------------------------------------------------------
Error in logs when starting on a new email:

MailScanner: waiting for children to die: Process did not exit cleanly, 
returned 255 with signal 0

----------------------------------------------------------
# mailscanner --lint /usr/local/etc/MailScanner/MailScanner.conf
Trying to setlogsock(unix)
Checking version numbers...
Version number in MailScanner.conf (4.67.6) is correct.

Your envelope_sender_header in spam.assassin.prefs.conf is correct.

Checking for SpamAssassin errors (if you use it)...
SpamAssassin temp dir = /tmp/SpamAssassin-Temp
SpamAssassin reported no errors.
MailScanner.conf says "Virus Scanners = bitdefender clamd"
Found these virus scanners installed: bitdefender, clamd
===========================================================================
===========================================================================
Virus Scanner test reports:
Bitdefender said "Found virus EICAR-Test-File (not a virus) in file 
eicar.com"
Clamd said "eicar.com was infected: Eicar-Test-Signature FOUND"

If any of your virus scanners (bitdefender,clamd)
are not listed there, you should check that they are installed correctly
and that MailScanner is finding them correctly via its virus.scanners.conf.

No problems there.
----------------------------------------------------------
# mailscanner --debug-sa /usr/local/etc/MailScanner/MailScanner.conf
(nothing)

No problems there.
----------------------------------------------------------
# mailscanner --debug /usr/local/etc/MailScanner/MailScanner.conf
In Debugging mode, not forking...
Trying to setlogsock(unix)
SpamAssassin temp dir = /tmp/SpamAssassin-Temp
Building a message batch to scan...
Have a batch of 2 messages.
Can't use string ("1036") as an ARRAY ref while "strict refs" in use at 
/usr/local/lib/MailScanner/MailScanner/SMDiskStore.pm line 359, <GEN50> 
line 1037.

Note: the "1036" "<GEN50>" and "1037" depend on the emails being 
processed, so these numbers vary all the time. When there's no email to 
scan, the --debug session will just sit there patiently. As soon as an 
email arrives:

Have a batch of 1 message.
Can't use string ("36") as an ARRAY ref while "strict refs" in use at 
/usr/local/lib/MailScanner/MailScanner/SMDiskStore.pm line 359, <GEN47> 
line 36.

Any idea what may be causing this? MailScanner, SA, ClamAV, BDC, and all 
necessary perl modules have been rebuilt against perl 5.10. As noted, 
this setup worked flawlessly with perl 5.8

TIA.




More information about the MailScanner mailing list