amavis cronjob throwing an error out of nowhere

Can someone explain why amavis cronjob is suddenly trowing the following error?

Cron <amavis@bee> test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync

rules: failed to run T_SPF_HELO_PERMERROR test, skipping:
    (Can't locate object method "check_for_spf_helo_permerror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 19.
)
rules: failed to run T_SPF_TEMPERROR test, skipping:
    (Can't locate object method "check_for_spf_temperror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 614.
)
rules: failed to run T_SPF_PERMERROR test, skipping:
    (Can't locate object method "check_for_spf_permerror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 784.
)
rules: failed to run T_SPF_HELO_TEMPERROR test, skipping:
    (Can't locate object method "check_for_spf_helo_temperror" via package "Mail::SpamAssassin::PerMsgStatus" at (eval 1156) line 1129.
)

I am not even sure what that cronjob does, but is worked for 2 weeks now without a problem. No configuration changes have been made in this time.

The server was set up fresh, and worked fine (and still does work fine btw.) ;)


Solution 1:

It appears that some checks that weren't supposed to be released into all update streams have been. See eg https://unix.stackexchange.com/questions/183763/spamassassin-object-method-location-problems-after-restart for more details, but that the upshot is that the errors should go away following the next update after the errant rule(s) have been pulled.

Edit: yes, this has been confirmed by one of the developers. From (eg) http://www.mail-archive.com/[email protected]/msg91187.html , dated 2015-02-09:

It was part of a commit on Jan 30, http://www.gossamer-threads.com/lists/spamassassin/commits/190790, that likely needs a has_ function for a can() if encapsulation if you aren't using the latest trunk to avoid warnings.

Working on a patch now and a fix to the rules.

2nd edit: according to this email, the problem is now fixed:

Rule gen just finished and the update does include the fix if you want to confirm.

Regards, KAM

I've just done an sa-update -D && service spamassassin restart, and the error's gone for me (running SA 3.3.1 on C6).