Website-Icon .: blog cscholz.io :.

SA failed: Can't locate object method "READ" via package "Amavis::IO::FileHandle

Ich habe gestern Abend Spamassassin von Version 3.2.5-2+lenny2 auf 3.3.1-1. Beim anschließenden testen habe ich im Header der festgestellt, dass eingehende E-Mails nicht mehr durch den Spam-Filter laufen.

X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level:
X-Spam-Status: No, score=x tagged_above=-100 required=14.31 tests=[]

Eine erhöhung das Amavis Log Levels auf 4 brachte den Fehler zu Tage.

Aug 26 10:02:04 mx02.blog.cscholz.io prequeue_filter[28157]: (28157-01) (!!)SA failed: Can't locate object method "READ" via package "Amavis::IO::FileHandle" at /usr/local/share/perl/5.10.0/Mail/SpamAssassin/Message.pm line 143, <GEN71> line 169. at (eval 104) line 420, <GEN71> line 169.

Dre Grund dafür ist

package Amavis::IO::FileHandle now supports a method READ (i.e. invoked
by a perl functions sysread through a tied hash), which is needed by
SpamAssassin revisions since 2008-09-25 (3.3), bringing a little speedup
to transferring a message from amavisd to SpamAssassin, and avoiding a
Perl I/O bug (perl bug 39060; SA: bug 5985) on some installations;

Dieser Fehler ist in amavisd-new 2.6.2+ behoben, jedoch lässt sich amavisd-new nicht ohne Konflikte aus dem sid Zweig installieren, daher muss die Datei /usr/sbin/amavisd-new manuell  angepasst werden. Dazu muss die Zeile nach SA prepare von

my($data_representation) = 'GLOB';  # pass data to SA as ARRAY or a GLOB

auf

my($data_representation) = 'ARRAY';  # pass data to SA as ARRAY or a GLOB

geändert werden.

Die mobile Version verlassen