Re: Mail log errors about PerMsgStatus.pm

2007-09-14 Thread Matt Kettler
dvogel wrote:
> I've been seeing these errors in my mail log. This is SpamAssassin version
> 3.2.3 running on Perl version 5.8.8. Installed via apt on debian/stable.
> I've tried to `apt-get install --reinstall spamassassin spamc`, but that did
> not work. Is this likely the result of a misconfiguration on my part or is
> it more likely a bug in spamassassin that I should report to -dev?
>
>
> Sep 14 12:51:28 moose spamd[29477]: Use of uninitialized value in
> concatenation (.) or string at
> /usr/share/perl5/Mail/SpamAssassin/PerMsgStatus.pm line 2669.
>   

Something is corrupted about your SA install.. The PerMsgStatus.pm that
comes with 3.2.3 is only 2604 lines long.

Did you have a borked upgrade that would up leaving two
PerMsgStatus.pm's on your system in different directories?

> For reference, here is the function in PerMsgStatus.pm that it is
> complaining about, with line numbers:
>
> 2666 sub register_plugin_eval_glue {
> 2667   my ($self, $pluginobj, $function) = @_;
> 2668
> 2669   my $evalstr = <<"ENDOFEVAL";
> 2670 {
> 2671 package Mail::SpamAssassin::PerMsgStatus;
> 2672
>
>   

That is not the correct code for register_plugin_eval_glue for SA 3.2.3.
It looks like the one from a 3.1.x version of SpamAssassin, as it 
matches the one found in 3.1.8.

It should start off as such:
--
sub register_plugin_eval_glue {
  my ($self, $function) = @_;

  if (!$function) {
warn "rules: empty function name";
return;
  }

  # only need to call this once per fn (globally)
  return if exists $TEMPORARY_EVAL_GLUE_METHODS{$function};
  $TEMPORARY_EVAL_GLUE_METHODS{$function} = undef;
--

And that much is the same for both 3.2.3 and 3.2.0.




Mail log errors about PerMsgStatus.pm

2007-09-14 Thread dvogel

I've been seeing these errors in my mail log. This is SpamAssassin version
3.2.3 running on Perl version 5.8.8. Installed via apt on debian/stable.
I've tried to `apt-get install --reinstall spamassassin spamc`, but that did
not work. Is this likely the result of a misconfiguration on my part or is
it more likely a bug in spamassassin that I should report to -dev?


Sep 14 12:51:28 moose spamd[29477]: Use of uninitialized value in
concatenation (.) or string at
/usr/share/perl5/Mail/SpamAssassin/PerMsgStatus.pm line 2669.
Sep 14 12:51:28 moose spamd[29477]: Number found where operator expected at
(eval 303) line 10, near "}
Sep 14 12:51:28 moose spamd[29477]:
Sep 14 12:51:28 moose spamd[29477]:  1"
Sep 14 12:51:28 moose spamd[29477]:  (Missing operator before
Sep 14 12:51:28 moose spamd[29477]:
Sep 14 12:51:28 moose spamd[29477]:  1?)
Sep 14 12:51:28 moose spamd[29477]: rules: failed to run header tests,
skipping some: syntax error at (eval 303) line 11, near ";
Sep 14 12:51:28 moose spamd[29477]: }"


For reference, here is the function in PerMsgStatus.pm that it is
complaining about, with line numbers:

2666 sub register_plugin_eval_glue {
2667   my ($self, $pluginobj, $function) = @_;
2668
2669   my $evalstr = <<"ENDOFEVAL";
2670 {
2671 package Mail::SpamAssassin::PerMsgStatus;
2672
2673 sub $function {
2674   my (\$self) = shift;
2675   my \$plugin = \$self->{conf}->{eval_plugins}->{$function};
2676   return \$plugin->$function (\$self, [EMAIL PROTECTED]);
2677 }
2678
2679 1;
2680 }
2681 ENDOFEVAL
2682   eval $evalstr;
2683
2684   if ($@) {
2685 warn "rules: failed to run header tests, skipping some: [EMAIL 
PROTECTED]";
2686 $self->{rule_errors}++;
2687   }
2688 }
-- 
View this message in context: 
http://www.nabble.com/Mail-log-errors-about-PerMsgStatus.pm-tf172.html#a12680362
Sent from the SpamAssassin - Users mailing list archive at Nabble.com.