SA Bugzilla – Bug 2469
SA 2.60 chokes on messages without Message-ID
Last modified: 2003-09-18 13:07:05 UTC
SA 2.60-rc4 and -rc5 both show the following error (I didn't test older versions): ... debug: bayes: found bayes db version 2 debug: Score set 3 chosen. debug: Initialising learner Use of uninitialized value in substitution (s///) at /usr/pkg/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm line 442. debug: Learning Spam debug: uri tests: Done uriRE ... Both messages where I saw this didn't have a "Message-ID" which explains, why line 442 $TIMELOG->{mesgid} =~ s#/#-#g; doesn't work. ciao Klaus
Created attachment 1388 [details] message which triggers the error
this seems very related to my bug 2152 ... I'm seeing if I can't get a generic patch done up now which doesn't really solve 2152, but should make M::SA::Bayes->get_msgid() the "one true way"(tm) of getting Message-Id WRT bayes...
Created attachment 1389 [details] suggested patch for the "one true way"(tm)
moving to 2.60
*** Bug 2152 has been marked as a duplicate of this bug. ***
Created attachment 1393 [details] suggested patch after discussing things with quinlan, I hacked through and removed the message-id passing and such... The attached message doesn't cause any uninitialized value warnings now, and properly gets learned (it did before too) with a generated msgid: debug: bayes: Learned '72c4e142e4f87d1289b6cc9f5215f0af4e9d5d1f@sa_generated'
Created attachment 1394 [details] fixed a few buglets
Created attachment 1396 [details] new suggested patch after a discussion with quinlan, here's the new version. it keeps the old API, and now allows people to pass a message identifier in which will be used for learning.
+1 works in my testing Also, the documentation at the top of PerMsgLearner.pm makes no sense to me.
applied, closing