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.


Reply via email to