Bug 5596 - no loaded plugin implements 'check_main'
Summary: no loaded plugin implements 'check_main'
Status: RESOLVED INVALID
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: spamassassin (show other bugs)
Version: 3.2.3
Hardware: PC Linux
: P5 normal
Target Milestone: Undefined
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-14 07:53 UTC by Soren Ragsdale
Modified: 2019-06-13 14:49 UTC (History)
2 users (show)



Attachment Type Modified Status Actions Submitter/CLA Status
Procmail logfile showing errors text/plain None Soren Ragsdale [NoCLA]
spamassassin -D --lint output from a message that produced errors via procmail text/plain None Soren Ragsdale [NoCLA]
Spam message used in the test run. text/plain None Soren Ragsdale [NoCLA]

Note You need to log in before you can comment on or make changes to this bug.
Description Soren Ragsdale 2007-08-14 07:53:01 UTC
I've been getting occasional errors which only seem to be triggering every once
in a while, not all the time.  (See procmail-log.txt)

What's more frustrating is that I can't seem to reproduce this error
interactively.  If I take the same spam and run "spamassassin --lint -D" locally
to check for errors it analyzes the spam correctly.  (See sa-output.txt)
Comment 1 Soren Ragsdale 2007-08-14 07:53:42 UTC
Created attachment 4085 [details]
Procmail logfile showing errors
Comment 2 Soren Ragsdale 2007-08-14 07:56:50 UTC
Created attachment 4086 [details]
spamassassin -D --lint output from a message that produced errors via procmail
Comment 3 Soren Ragsdale 2007-08-14 07:58:46 UTC
Created attachment 4087 [details]
Spam message used in the test run.
Comment 4 Justin Mason 2007-08-14 08:10:42 UTC
hey mrneutron!

this looks a lot like an NFS problem, namely intermittent failure to load files:

Can't locate Mail/SpamAssassin/Util/Progress.pm in @INC (@INC contains:
/home/mailfilter/local/share/perl/5.8.4 /etc/perl /usr/local/lib/perl/5.8.4
/usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8
/usr/share/perl/5.8 /usr/local/lib/site_perl) at
/mnt/slammer/vol/boot/spunky/hopei/mailfilter/local/bin/spamassassin line 81.
BEGIN failed--compilation aborted at
/mnt/slammer/vol/boot/spunky/hopei/mailfilter/local/bin/spamassassin line 81.
procmail: Program failure (2) of
"/mnt/slammer/vol/boot/spunky/hopei/mailfilter/local/bin/spamassassin"

check: no loaded plugin implements 'check_main': cannot scan! at
/mnt/slammer/vol/boot/spunky/hopei/mailfilter/local/share/perl/5.8.4/Mail/SpamAssassin/PerMsgStatus.pm
line 164.
procmail: Program failure (2) of
"/mnt/slammer/vol/boot/spunky/hopei/mailfilter/local/bin/spamassassin"

is that possible?

If you could capture -D output from one of these failing cases, that'd probably
help, too.  (-D output goes to stderr, whereas filtered text goes to stdout, so
it's possible to log -D output to a separate file from the procmailrc.)
Comment 5 Soren Ragsdale 2007-08-14 18:48:13 UTC
> is that possible?

It's dreamhost.  Their servers and filers are oversold and constantly running at
more than full capacity so it's entirely possible.

> If you could capture -D output from one of these failing cases, that'd probably
> help, too.  (-D output goes to stderr, whereas filtered text goes to stdout, so
> it's possible to log -D output to a separate file from the procmailrc.)

I'd love to do this but I don't know how.  Can you give me a pointer?
Comment 6 Justin Mason 2007-08-15 04:56:36 UTC
(In reply to comment #5)
> > is that possible?
> 
> It's dreamhost.  Their servers and filers are oversold and constantly running at
> more than full capacity so it's entirely possible.

ah, yep.  on my DH account, references to /vol/boot/ are all NFS volumes, so
I'll bet it's NFS problems.
 
> > If you could capture -D output from one of these failing cases, that'd probably
> > help, too.  (-D output goes to stderr, whereas filtered text goes to stdout, so
> > it's possible to log -D output to a separate file from the procmailrc.)
> 
> I'd love to do this but I don't know how.  Can you give me a pointer?

sure -- lemme see if I can get some time together to do that RSN.
Comment 7 Justin Mason 2007-08-15 08:31:42 UTC
ok, replace the "| spamassassin" stanza in your .procmailrc with something like
this:

:0fw: spamassassin.lock
* < 512000
| spamassassin -D 2>>spamassassin.log


that should write a debug logfile to "spamassassin.log".  the thing to look out
for, then, is cases of files being there in some scans (in the "dbg: config:
read file" part of the log), and not appearing in others.

Here's another idea; would it be possible to copy the spamassassin lib dirs
(${HOME}/local/share/spamassassin, etc.) to /tmp ?   /tmp is probably always a
local disk, therefore immune to NFS nastiness.  (may be best to confirm that
it's caused by NFS first though.)
Comment 8 Brian Wilson 2007-08-15 18:48:30 UTC
FYI, the server in your example (spunkymail-mx9.g.dreamhost.com) was having
issues with homefs at least since last Thursday (what actually maps your home
directory to /home/<user> on their system).  I submitted a ticket earlier this
week and they said that they had it resolved.  So, if you were using your own
version of spamassassin, installed in /home/<user>, then it's likely that you
wouldn't be able to find all of the required perl libs.  I tried using whatever
HOME var was passed on the mail server (/mnt/polisher/vol/boot/...) so that even
if homefs wasn't working, things would still work, but wasn't able to
successfully change where spamassassin looks for libs.  

If it still isn't working for you, I'd submit a ticket and explain what mail
server the message came from and say that your home directory is most likely not
being properly mapped with homefs.  They should fix it up.

If you do find a good long-term solution, please let me know about it.

-Brian
Comment 9 James Kosin 2008-06-30 09:34:13 UTC
I'm having the same problems, only I've tried version 3.2.5 that causes the break!

Jun 30 12:27:23 beta spamd[30598]: logger: removing stderr method
Jun 30 12:27:24 beta spamd[30600]: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.

Any ideas?

James
Comment 10 James Kosin 2008-06-30 10:01:41 UTC
Sorry... more information listed below:
(1)  Using spamass-milter 0.3.1
(2)  Setup works if I back down to 3.2.4 of spamassassin
(3)  'make test' reports no errors with spamassassin 3.2.5...

Is there something that has changed in the interface with spamass-milter that could be casing this???

Actually, I think it may be more of a problem with the perl end of spamassassin.  Though again I'm not sure.  Spamassassin just refuses to run as a deamon is the symptom.

James
Comment 11 James Kosin 2008-06-30 12:39:12 UTC
Here is a log with 3.2.5 ... with 'spamd -D -d'


-- log
Jun 30 15:34:48 beta spamd[9222]: logger: successfully added syslog method
Jun 30 15:34:48 beta spamd[9222]: spamd: will perform setuids? 1
Jun 30 15:34:48 beta spamd[9222]: spamd: creating INET socket:
Jun 30 15:34:49 beta spamd[9222]: spamd: Listen: 128
Jun 30 15:34:49 beta spamd[9222]: spamd: LocalAddr: 127.0.0.1
Jun 30 15:34:49 beta spamd[9222]: spamd: LocalPort: 783
Jun 30 15:34:49 beta spamd[9222]: spamd: Proto: 6
Jun 30 15:34:50 beta spamd[9222]: spamd: ReuseAddr: 1
Jun 30 15:34:50 beta spamd[9222]: spamd: Type: 1
Jun 30 15:34:50 beta spamd[9222]: logger: adding facilities: all
Jun 30 15:34:50 beta spamd[9222]: logger: logging level is DBG
Jun 30 15:34:51 beta spamd[9222]: generic: SpamAssassin version 3.2.5
Jun 30 15:34:51 beta spamd[9222]: config: score set 0 chosen.
Jun 30 15:34:51 beta spamd[9222]: dns: no ipv6
Jun 30 15:34:51 beta spamd[9222]: dns: is Net::DNS::Resolver available? yes
Jun 30 15:34:52 beta spamd[9222]: dns: Net::DNS version: 0.62
Jun 30 15:34:52 beta spamd[9222]: logger: removing stderr method
Jun 30 15:34:52 beta spamd[9224]: spamd: successfully daemonized
Jun 30 15:34:52 beta spamd[9224]: spamd: Preloading modules with HOME=/tmp/spamd-9224-init
Jun 30 15:34:53 beta spamd[9224]: ignore: test message to precompile patterns and load modules
Jun 30 15:34:53 beta spamd[9224]: config: using "/etc/mail/spamassassin" for site rules pre files
Jun 30 15:34:53 beta spamd[9224]: config: using "/usr/share/spamassassin" for sys rules pre files
Jun 30 15:34:53 beta spamd[9224]: config: using "/usr/share/spamassassin" for default rules dir
Jun 30 15:34:54 beta spamd[9224]: config: read file /usr/share/spamassassin/72_removed.cf
Jun 30 15:34:54 beta spamd[9224]: config: using "/etc/mail/spamassassin" for site rules dir
Jun 30 15:34:54 beta spamd[9224]: config: read file /etc/mail/spamassassin/local.cf
Jun 30 15:34:54 beta spamd[9224]: rules: AXB_RCVD_ZOOBSEND merged duplicates: BROKEN_RATWARE_BOM DEAR_HOMEOWNER DIV_CENTER_A_HREF DRUG_RA_PRICE FM_DDDD_TIMES_2 FM_SEX_HOSTDDDD HS_PHARMA_1 HS_UPLOADED_SOFTWARE OEBOUND STOX_RCVD_N_NN_N URIBL_RHS_ABUSE URIBL_RHS_BOGUSMX URIBL_RHS_DSN URIBL_RHS_POST URIBL_RHS_TLD_WHOIS URIBL_RHS_WHOIS URIBL_XS_SURBL URI_L_PHP XMAILER_MIMEOLE_OL_5E7ED XMAILER_MIMEOLE_OL_C7C33 XMAILER_MIMEOLE_OL_D03AB X_LIBRARY YOUR_CRD_RATING
Jun 30 15:34:55 beta spamd[9224]: conf: finish parsing
Jun 30 15:34:55 beta spamd[9224]: bayes: no dbs present, cannot tie DB R/O: /tmp/spamd-9224-init/.spamassassin/bayes_toks
Jun 30 15:34:55 beta spamd[9224]: config: score set 1 chosen.
Jun 30 15:34:56 beta spamd[9224]: message: main message type: text/plain
Jun 30 15:34:56 beta spamd[9224]: message: ---- MIME PARSER START ----
Jun 30 15:34:56 beta spamd[9224]: message: parsing normal part
Jun 30 15:34:56 beta spamd[9224]: message: ---- MIME PARSER END ----
Jun 30 15:34:57 beta spamd[9224]: bayes: no dbs present, cannot tie DB R/O: /tmp/spamd-9224-init/.spamassassin/bayes_toks
Jun 30 15:34:57 beta spamd[9224]: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
Comment 12 Michael Parker 2008-06-30 12:55:18 UTC
This seems like a busted install.

What does spamassassin -D --lint show?

Also, do you possibly have two different copies of spamd on your system?

What are the contents of your .pre files in /etc/mail/spamassassin?
Comment 13 James Kosin 2008-07-01 05:55:30 UTC
--- Output
[root@beta redhat]# spamassassin -D --lint
[19623] dbg: logger: adding facilities: all
[19623] dbg: logger: logging level is DBG
[19623] dbg: generic: SpamAssassin version 3.2.5
[19623] dbg: config: score set 0 chosen.
[19623] dbg: util: running in taint mode? yes
[19623] dbg: util: taint mode: deleting unsafe environment variables, resetting PATH
[19623] dbg: util: PATH included '/usr/kerberos/sbin', keeping
[19623] dbg: util: PATH included '/usr/kerberos/bin', keeping
[19623] dbg: util: PATH included '/usr/local/sbin', keeping
[19623] dbg: util: PATH included '/usr/local/bin', keeping
[19623] dbg: util: PATH included '/sbin', keeping
[19623] dbg: util: PATH included '/bin', keeping
[19623] dbg: util: PATH included '/usr/sbin', keeping
[19623] dbg: util: PATH included '/usr/bin', keeping
[19623] dbg: util: PATH included '/usr/X11R6/bin', keeping
[19623] dbg: util: PATH included '/root/bin', keeping
[19623] dbg: util: final PATH set to: /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[19623] dbg: dns: no ipv6
[19623] dbg: dns: is Net::DNS::Resolver available? yes
[19623] dbg: dns: Net::DNS version: 0.62
[19623] dbg: diag: perl platform: 5.010000 linux
[19623] dbg: diag: module installed: Digest::SHA1, version 2.11
[19623] dbg: diag: module installed: HTML::Parser, version 3.56
[19623] dbg: diag: module installed: Net::DNS, version 0.62
[19623] dbg: diag: module installed: MIME::Base64, version 3.07_01
[19623] dbg: diag: module installed: DB_File, version 1.817
[19623] dbg: diag: module installed: Net::SMTP, version 2.31
[19623] dbg: diag: module not installed: Mail::SPF ('require' failed)
[19623] dbg: diag: module installed: Mail::SPF::Query, version 1.999001
[19623] dbg: diag: module not installed: IP::Country::Fast ('require' failed)
[19623] dbg: diag: module not installed: Razor2::Client::Agent ('require' failed)
[19623] dbg: diag: module not installed: Net::Ident ('require' failed)
[19623] dbg: diag: module not installed: IO::Socket::INET6 ('require' failed)
[19623] dbg: diag: module not installed: IO::Socket::SSL ('require' failed)
[19623] dbg: diag: module installed: Compress::Zlib, version 2.011
[19623] dbg: diag: module installed: Time::HiRes, version 1.9715
[19623] dbg: diag: module not installed: Mail::DomainKeys ('require' failed)
[19623] dbg: diag: module not installed: Mail::DKIM ('require' failed)
[19623] dbg: diag: module installed: DBI, version 1.605
[19623] dbg: diag: module installed: Getopt::Long, version 2.37
[19623] dbg: diag: module installed: LWP::UserAgent, version 2.036
[19623] dbg: diag: module installed: HTTP::Date, version 1.47
[19623] dbg: diag: module installed: Archive::Tar, version 1.38
[19623] dbg: diag: module installed: IO::Zlib, version 1.09
[19623] dbg: diag: module not installed: Encode::Detect ('require' failed)
[19623] dbg: ignore: using a test message to lint rules
[19623] dbg: config: using "/etc/mail/spamassassin" for site rules pre files
[19623] dbg: config: using "/usr/share/spamassassin" for sys rules pre files
[19623] dbg: config: using "/usr/share/spamassassin" for default rules dir
[19623] dbg: config: read file /usr/share/spamassassin/72_removed.cf
[19623] dbg: config: using "/etc/mail/spamassassin" for site rules dir
[19623] dbg: config: read file /etc/mail/spamassassin/local.cf
[19623] dbg: config: using "/root/.spamassassin/user_prefs" for user prefs file
[19623] dbg: config: read file /root/.spamassassin/user_prefs
[19623] dbg: rules: AXB_RCVD_ZOOBSEND merged duplicates: BROKEN_RATWARE_BOM DEAR_HOMEOWNER DIV_CENTER_A_HREF DRUG_RA_PRICE FM_DDDD_TIMES_2 FM_SEX_HOSTDDDD HS_PHARMA_1 HS_UPLOADED_SOFTWARE OEBOUND STOX_RCVD_N_NN_N URIBL_RHS_ABUSE URIBL_RHS_BOGUSMX URIBL_RHS_DSN URIBL_RHS_POST URIBL_RHS_TLD_WHOIS URIBL_RHS_WHOIS URIBL_XS_SURBL URI_L_PHP XMAILER_MIMEOLE_OL_5E7ED XMAILER_MIMEOLE_OL_C7C33 XMAILER_MIMEOLE_OL_D03AB X_LIBRARY YOUR_CRD_RATING
[19623] dbg: conf: finish parsing
[19623] dbg: bayes: tie-ing to DB file R/O /root/.spamassassin/bayes_toks
[19623] dbg: bayes: tie-ing to DB file R/O /root/.spamassassin/bayes_seen
[19623] dbg: bayes: found bayes db version 3
[19623] dbg: bayes: DB journal sync: last sync: 0
[19623] dbg: bayes: not available for scanning, only 0 spam(s) in bayes DB < 200
[19623] dbg: bayes: untie-ing
[19623] dbg: config: score set 0 chosen.
[19623] dbg: message: main message type: text/plain
[19623] dbg: message: ---- MIME PARSER START ----
[19623] dbg: message: parsing normal part
[19623] dbg: message: ---- MIME PARSER END ----
[19623] dbg: bayes: tie-ing to DB file R/O /root/.spamassassin/bayes_toks
[19623] dbg: bayes: tie-ing to DB file R/O /root/.spamassassin/bayes_seen
[19623] dbg: bayes: found bayes db version 3
[19623] dbg: bayes: DB journal sync: last sync: 0
[19623] dbg: bayes: not available for scanning, only 0 spam(s) in bayes DB < 200
[19623] dbg: bayes: untie-ing
check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.

--  ONLY ONE INSTALLED
[root@beta redhat]# whereis spamassassin
spamassassin: /usr/bin/spamassassin /usr/share/spamassassin /usr/share/man/man1/spamassassin.1.gz
[root@beta redhat]# ls /usr/share/spamassassin
72_removed.cf
[root@beta redhat]# ls /usr/bin/spamassassin
/usr/bin/spamassassin

-- NO PRE files... hmmm. will have to check this
[root@beta redhat]# ls /etc/mail/spamassassin/
local.cf  spamassassin-default.rc  spamassassin-helper.sh  spamassassin-spamc.rc
Comment 14 James Kosin 2008-07-01 05:59:59 UTC
Thanks!
My problem was the missing init.pre file in /etc/mail/spamassassin.

James
Comment 15 Henrik Krohns 2019-06-13 14:49:03 UTC
Closing old bugs. Server and user problems.