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





--- Comment #27 from Joel <[email protected]>  2009-06-10 16:48:35 PST 
---
(In reply to comment #24)
> (In reply to comment #23)
> >       if (!$pms->{disable_auto_learning}) {
> >         $whitelist->add_score($awlpoints);
> >       }
> > 
> > This appears to fail when $meanscore is undefined.
> I don't think so.  $meanscore is undef in my debugging run, too. It merely
> means that address / originating net-block has not been seen before. Which
> likely applies to most of your spam...
> Moreover, it's not being used in add_score().

Agreed. I merely noted my observation that all observed failures were preceded
by the fact that $meanscore was undefined. 

> > Wed Jun 10 15:25:44 2009 [1187] dbg: auto-whitelist: (Gossamer) meanscore 
> > undef
> What exactly did you log here?

See code below.

> > Wed Jun 10 15:25:44 2009 [1187] dbg: auto-whitelist: add_score:
> >  new count: 1, new totscore: 19.106
> This is M::SA::DBBasedAddrList::add_score(). As I mentioned before, it might 
> be
> necessary to recurse into those functions adding yet more fine grained dbg
> statements.
> It is necessary. ;)  

This log entry is the last one generated prior to the crash, I have yet to work
my way into add_score(). I didn't know how fine grained you needed me to go.

> Also, did you make sure SA did *not* go beyond that block,
> returning from the add_score() call?

I am positive that we did not return from add_score(). Otherwise I would have
logged another message:

      if (defined ($meanscore)) {
        $delta = ($meanscore - $awlpoints) *
$pms->{main}->{conf}->{auto_whitelist_factor};

        $pms->set_tag('AWL', sprintf("%2.1f",$delta));
        $pms->set_tag('AWLMEAN', sprintf("%2.1f", $meanscore));
        $pms->set_tag('AWLCOUNT', sprintf("%2.1f", $whitelist->count()));
        $pms->set_tag('AWLPRESCORE', sprintf("%2.1f", $pms->{score}));
      }
      else {
          dbg("auto-whitelist: (Gossamer) meanscore undef");
      }

      # Update the AWL *before* adding the new score, otherwise
      # early high-scoring messages are reinforced compared to
      # later ones.  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=159704
      if (!$pms->{disable_auto_learning}) {
        $whitelist->add_score($awlpoints);
      }

      dbg("auto-whitelist: (Gossamer) bug 159704 fix completed - post
auto-whitelist score: ".$pms->{score});

> Please add some visible hint to your custom dbg to easily distinguish them.

I have, my debug messages are tagged with (Gossamer).

> Hmm, just in case this does fail only for not previously seen AWL entries, how
> large is your AWL database?
>   /home/qscand/.spamassassin/auto-whitelist

tahoestores# ls -lat /home/qscand/.spamassassin/auto-whitelist
-rw-rw----  1 qscand  spamd  4398197493760 Jun 10 15:35
/home/qscand/.spamassassin/auto-whitelist

By the way, I disabled the AWL plugin and I have yet to see another
segmentation fault.

Thanks for the help. I am not sure when I can return to the debug work, it was
unscheduled and I am falling behind on the work I need to get done so I can pay
my bills. Although I will admit this work is a bit more satisfying:) Perhaps in
the AM.

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to