You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2012/10/25 15:56:19 UTC

[Bug 6856] New: Mass check is throwing a "1/8" isn't numeric error

https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

          Priority: P2
            Bug ID: 6856
          Assignee: dev@spamassassin.apache.org
           Summary: Mass check is throwing a "1/8" isn't numeric error
          Severity: normal
    Classification: Unclassified
                OS: Windows 7
          Reporter: kmcgrail@pccc.com
          Hardware: PC
            Status: NEW
           Version: unspecified
         Component: Masses
           Product: Spamassassin

Reported on 10/24 by Marc Andre Selig and on 10/25 by Jari Fredriksson, lots of
warning messages from auto-mass-check.sh 

> Syncing nightly_mass_check
> + ./mass-check --hamlog=ham-mas.log --spamlog=spam-mas.log -j 1 --progress --reuse ham:dir:/home/sacheck/corpora/ham spam:dir:/home/mas/Home/Mail/archives/spam
> status: starting scan stage                              now: 2012-10-24 11:00:19 AM
> status: completed scan stage, 7638 messages              now: 2012-10-24 11:00:21 AM
> status: starting run stage                               now: 2012-10-24 11:00:21 AM
> Argument "1/8" isn't numeric in numeric le (<=) at /home/sacheck/masscheckwork/nightly_mass_check/masses/../lib/Mail/SpamAssassin/PerMsgStatus.pm line 2441.
> Argument "1/8" isn't numeric in numeric le (<=) at /home/sacheck/masscheckwork/nightly_mass_check/masses/../lib/Mail/SpamAssassin/PerMsgStatus.pm line 2441.
> Argument "1/8" isn't numeric in numeric le (<=) at /home/sacheck/masscheckwork/nightly_mass_check/masses/../lib/Mail/SpamAssassin/PerMsgStatus.pm line 2441.
> [... 7587 identical lines omitted ...]
> Argument "1/8" isn't numeric in numeric le (<=) at /home/sacheck/masscheckwork/nightly_mass_check/masses/../lib/Mail/SpamAssassin/PerMsgStatus.pm line 2441.
> status: completed run stage                              now: 2012-10-24 11:29:23 AM
> + LOGLIST=' ham-mas.log spam-mas.log'
> + set +x
> rsync -qPcvz  ham-mas.log spam-mas.log maselig@rsync.spamassassin.org::corpus/
>

Per Jari: Same here. I have 25000+ rows with this message in my cron job email
from masscheck. It seems that every email in my corpus triggers this.



Checking the nightly mass checks that run on SA's zones, we do NOT have this
error.  Likely something with IPv6, trusted networks and/or a perl module,
perhaps?

This is the logic with the error:

  # ensure that rule values always result in an *increase*
  # of $self->{tests_already_hit}->{$rule}:
  my $value = $params{value};
  if (!$value || $value <= 0) { $value = 1 }

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6856] Mass check is throwing a "1/8" isn't numeric error

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

Kevin A. McGrail <km...@pccc.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |kmcgrail@pccc.com
         Resolution|---                         |FIXED

--- Comment #4 from Kevin A. McGrail <km...@pccc.com> ---
Thanks to Marc and Mark.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6856] Mass check is throwing a "1/8" isn't numeric error

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

--- Comment #2 from Mark Martinec <Ma...@ijs.si> ---
> So if the intent of have_any_bounce_relays is to return 1 if
> whitelist_bounce_relays are configured, and 0 otherwise

Great catch, thanks.

Try this:

sub have_any_bounce_relays {
  my ($self, $pms) = @_;
  return $pms->{conf}->{whitelist_bounce_relays} &&
         %{$pms->{conf}->{whitelist_bounce_relays}} ? 1 : 0;
}

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6856] Mass check is throwing a "1/8" isn't numeric error

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

a29508-spamassassin@sedacon.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |a29508-spamassassin@sedacon
                   |                            |.com

--- Comment #1 from a29508-spamassassin@sedacon.com ---
Running mass-check with --debug=all shows that the error occurs in
Mail::SpamAssassin::Plugin::VBounce, sub have_any_bounce_relays:

{{{
Oct 25 18:05:14.834 [21639] dbg: rules: ran eval rule __HAVE_BOUNCE_RELAYS
======> got hit (1/8)
}}}

rules/20_vbounce.cf defines
{{{
body __HAVE_BOUNCE_RELAYS  eval:have_any_bounce_relays()
}}}

Sure enough, disabling __HAVE_BOUNCE_RELAYS in
masscheckwork/nightly_mass_check/masses/spamassassin/user_pref gets rid of the
error messages.

That function reads (file lib/Mail/SpamAssassin/Plugin/VBounce.pm, lines
93-98):

{{{
sub have_any_bounce_relays {
  my ($self, $pms) = @_;
  return $pms->{conf}->{whitelist_bounce_relays} &&
         %{$pms->{conf}->{whitelist_bounce_relays}};
}
}}}

%{$pms->{conf}->{whitelist_bounce_relays}} is set to
('example.com'=>'^example\\.com$') for the auto-mass-check-script
(configuration option "whitelist_bounce_relays example.com")

So if the intent of have_any_bounce_relays is to return 1 if
whitelist_bounce_relays are configured, and 0 otherwise [[ is that the intent
of the function?? ]], it might better read something like this (which is much
slower than the original, though!)

{{{
sub have_any_bounce_relays {
  my ($self, $pms) = @_;
  return $pms->{conf}->{whitelist_bounce_relays} &&
         (scalar keys %{$pms->{conf}->{whitelist_bounce_relays}}) > 0;
}
}}}

I am not familiar with the SpamAssasin code, so take this with a grain of salt.
;)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6856] Mass check is throwing a "1/8" isn't numeric error

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6856

--- Comment #3 from Mark Martinec <Ma...@ijs.si> ---
svn ci -m "Bug 6856: Mass check is throwing a '1/8' isn't numeric error"      
  Sending lib/Mail/SpamAssassin/Plugin/VBounce.pm
Committed revision 1402227.

-- 
You are receiving this mail because:
You are the assignee for the bug.