http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5354





------- Additional Comments From [EMAIL PROTECTED]  2007-03-08 14:24 -------
(In reply to comment #24)
> I'd suggest doing a binary search of the lines between

per suggestion, here's a 1st stab @ where the hang happens ...

  ...
  ?^#~\xa1`'+-]?r{1,2}/i at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 529.
  [20780] dbg: zoom: NO
/\b(?!investor)[ilt|!1y?\xcc\xcd\xce\xcf\xec\xed\xee\xef]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?[n\xd1\xf1]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?(?:[vu]|\\\/){1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?[e3\xc8\xc9\xca\xcb\xe8\xe9\xea\xeb\xa4]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?[sz5\xa6\xa7]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?[t|]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?[go0\xd2\xd3\xd4\xd5\xd6\xd8\xf0\xf2\xf3\xf4\xf5\xf6\xf8]{1,2}[\s\d_*\$\%(),.:;?!}{\[\]|\/?^#~\xa1`'+-]?r{1,2}/i
  [20780] dbg: zoom: extracted 868 bases, skipped 804
  WARN 167 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 167.
  WARN 203 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 203.
  WARN 209 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 209.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  WARN 228 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 228.
  WARN 214 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 214.
  WARN 224 at
/usr/local/lib/perl/sitelib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
line 224.
  ...
  etc etc etc
  ...

where, in "BodyRuleBaseExtractor.pm",

  ======================================
  203  warn "WARN 203";
      foreach my $set1 (@good_bases) {
      my $base1 = $set1->{base};
      my $orig1 = $set1->{orig};
      my $key1  = $set1->{name};
      next if ($base1 eq '' or $key1 eq '');
  209  warn "WARN 209";
      $conf->{base_orig}->{$ruletype}->{$key1} = $orig1;
    
      foreach my $set2 (@good_bases) {
        next if ($set1 == $set2);
  214  warn "WARN 214";
        # clobber exact dups; this can happen if a regexp outputs the 
        # same base string multiple times
        if ($set1->{name} eq $set2->{name} &&
          $set1->{base} eq $set2->{base} &&
          $set1->{orig} eq $set2->{orig})
        {
        $set2->{name} = '';       # clobber
        $set2->{base} = '';
        }
  224  warn "WARN 224";
        # skip if either already contains the other rule's name
        next if ($set1->{name} =~ /\b\Q$set2->{name}\E\b/);
        next if ($set2->{name} =~ /\b\Q$set1->{name}\E\b/);
  228  warn "WARN 228";
        my $base2 = $set2->{base};
    
        next if ($base2 eq '');
        next if (length $base1 < length $base2);
        next if ($base1 !~ /\Q$base2\E/);
  234  warn "WARN 234";
        $set1->{name} .= " ".$set2->{name};
    
        # base2 is just a subset of base1
        # dbg("zoom: subsuming '$base2' into '$base1': $set1->{name}");
      }
      }
  241  warn "WARN 241";
  ======================================


i.e., cycling between line#'s  214, 224 & 228




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

Reply via email to