You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Justin Mason <jm...@jmason.org> on 2007/06/01 11:23:43 UTC

Re: Mail::SpamAssassin::PerMsgStatus::finish "failing" after upgrade from 3.1.7 to 3.2.0

hi Joe --

just ignore the return value of finish() -- it's a void method.
(note how it doesn't mention a return value in its POD doc ;)

--j.

Joe Flowers writes:
> Hello Everyone,
> 
> I'm getting a weird error message that I have never gotten before over 
> several versions of SA. I just upgraded from "SpamAssassin version 3.1.7 
> running on Perl version 5.8.8" to "SpamAssassin version 3.2.0 running on 
> Perl version 5.8.8". Now, my calls to 
> Mail::SpamAssassin::PerMsgStatus::finish are "failing"; or at least, it 
> looks like their has been some change in the return values by finish().
> 
> I have been running this programming over many iterations of SA and this 
> is the first time I have run into such a problem.
> 
> This worries me a lot because from the docs 
> (http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_PerMsgStatus.html):
> "
> $status->finish ()
> ....
>     If you are using SpamAssassin in a persistent environment, or 
> checking many mail messages from one Mail::SpamAssassin factory, this 
> method should be called to ensure Perl's garbage collection will clean 
> up old status objects.
> ".
> 
> These calls "succeed" as usual:
> 
> Mail::SpamAssassin::PerMsgStatus::get_required_score
> Mail::SpamAssassin::PerMsgStatus::get_score
> Mail::SpamAssassin::PerMsgStatus::is_spam
> Mail::SpamAssassin::PerMsgStatus::get_names_of_tests_hit
> <Mail::SpamAssassin::PerMsgStatus::finish would normally go here if it 
> "succeeded".>
> 
> Any ideas please?
> 
> Joe

Re: Mail::SpamAssassin::PerMsgStatus::finish "failing" after upgrade from 3.1.7 to 3.2.0

Posted by Joe Flowers <fl...@social.chass.ncsu.edu>.
Thanks Justin. I am embedding Perl inside a C program, so I hope this is 
still true. It used to return a non-NULL or at least the following call 
used to always return a "count" of 1 and not 0 like it is now after the 
SA upgrade.

count = perl_call_method("Mail::SpamAssassin::PerMsgStatus::finish", 
(G_ARRAY|G_EVAL|G_KEEPERR));

Is your answer still the same?

Thanks a lot!

Joe


Justin Mason wrote:
> hi Joe --
>
> just ignore the return value of finish() -- it's a void method.
> (note how it doesn't mention a return value in its POD doc ;)
>
> --j.
>
> Joe Flowers writes:
>   
>> Hello Everyone,
>>
>> I'm getting a weird error message that I have never gotten before over 
>> several versions of SA. I just upgraded from "SpamAssassin version 3.1.7 
>> running on Perl version 5.8.8" to "SpamAssassin version 3.2.0 running on 
>> Perl version 5.8.8". Now, my calls to 
>> Mail::SpamAssassin::PerMsgStatus::finish are "failing"; or at least, it 
>> looks like their has been some change in the return values by finish().
>>
>> I have been running this programming over many iterations of SA and this 
>> is the first time I have run into such a problem.
>>
>> This worries me a lot because from the docs 
>> (http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_PerMsgStatus.html):
>> "
>> $status->finish ()
>> ....
>>     If you are using SpamAssassin in a persistent environment, or 
>> checking many mail messages from one Mail::SpamAssassin factory, this 
>> method should be called to ensure Perl's garbage collection will clean 
>> up old status objects.
>> ".
>>
>> These calls "succeed" as usual:
>>
>> Mail::SpamAssassin::PerMsgStatus::get_required_score
>> Mail::SpamAssassin::PerMsgStatus::get_score
>> Mail::SpamAssassin::PerMsgStatus::is_spam
>> Mail::SpamAssassin::PerMsgStatus::get_names_of_tests_hit
>> <Mail::SpamAssassin::PerMsgStatus::finish would normally go here if it 
>> "succeeded".>
>>
>> Any ideas please?
>>
>> Joe
>>     
>
>