Print Page | Close Window

Corpus.db error

Printed From: LogSat Software
Category: Spam Filter ISP
Forum Name: Spam Filter ISP Support
Forum Description: General support for Spam Filter ISP
URL: https://www.logsat.com/spamfilter/forums/forum_posts.asp?TID=4958
Printed Date: 02 December 2025 at 11:48am


Topic: Corpus.db error
Posted By: Guests
Subject: Corpus.db error
Date Posted: 12 January 2005 at 9:28am

On very rare occasions the corpus.db will not load and I will receive an error and spamfilter hangs, sometimes it's just a case of restarting the service or on more serious occasions I have to restart the server.

Worse case is it corrupts something in the spamfilter folder and even restarting the server will not work,  I have to manually hit reset on the server and let it run chkdsk to resolve the issue then it's fine.

I have the server shut itself down and restart about every 4 hrs daily, to keep it fresh. 

Other than that it works great, does a nice job.  I believe something I would like to try is having the spamfilter service restart hourly. 

While I know this is not the fix to my problem it will help I"m sure.  So my root question is what is the service name for Spamfilter so that I can setup a task to restart the service?

Below is an excerpt taken this morning as what on occasion happens.

01/12/05 08:51:54:855 -- (1452) BayesianThread starting
01/12/05 08:51:54:855 -- (1452) TBayesianThread - Begin LoadFromFile for corpus.db (db.dat)
01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat -> Ind63.tmp
01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind64.tmp
01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting
01/12/05 08:51:54:875 -- (1452) TBayesianThread - End LoadFromFile for corpus.db (db.dat) (9)
01/12/05 08:51:54:875 -- (1452) SpamFilterForm - corpus.db cannot be loaded, waiting 60 seconds
01/12/05 08:52:54:881 -- (1452) TBayesianThread - Begin LoadFromFile for corpus.db (db.dat)
01/12/05 08:52:54:901 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat -> Ind65.tmp
01/12/05 08:52:54:901 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind67.tmp
01/12/05 08:52:54:901 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting
01/12/05 08:52:54:901 -- (1452) TBayesianThread - End LoadFromFile for corpus.db (db.dat) (0)
01/12/05 08:52:54:901 -- (1452) SpamFilterForm - corpus.db cannot be loaded, waiting 60 seconds
01/12/05 08:53:54:907 -- (1452) TBayesianThread - Begin LoadFromFile for corpus.db (db.dat)
01/12/05 08:53:54:927 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat -> Ind69.tmp
01/12/05 08:53:54:927 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind6B.tmp
01/12/05 08:53:54:927 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting
01/12/05 08:53:54:937 -- (1452) TBayesianThread - End LoadFromFile for corpus.db (db.dat) (0)
01/12/05 08:53:54:937 -- (1452) SpamFilterForm - corpus.db cannot be loaded, waiting 60 seconds
01/12/05 08:54:17:169 -- (1932) Exception occurred during OnConnect: Stream read error

 

 




Replies:
Posted By: LogSat
Date Posted: 12 January 2005 at 10:11am
Jerry,

From your logs it appears that when SpamFilter tries to make a copy of the corpus db files, "something" happens to those copies that make them unavailable, SpamFilter handles the error, but it's occurring so often that eventually more serious problems happen.

This is a sample:

01/12/05 08:51:54:855 -- (1452) TBayesianThread - Begin LoadFromFile for corpus.db (db.dat) 01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat -> Ind63.tmp 01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind64.tmp 01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting Ind63.tmp 01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind64.tmp 01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting Ind63.tmp 01/12/05 08:51:54:865 -- (1452) TBayesianThread - LoadFromFile for Corpus.db - copied db.dat.prb -> Ind64.tmp 01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting Ind64.tmp 01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting Ind64.tmp 01/12/05 08:51:54:875 -- (1452) TBayesianThread - corpus.db copy of files not exist - exiting

SpamFilter tries to create the files Ind63.tmp and Ind64.tmp, but then does not find one of them.

Next time this happens, can you please check the log for the tmp file name (it always changes), and then verify that both files is present in the SpamFilter\corpus directory? They should be similar in size to the corpus.db and corpus.db.dat files already in there.

If the file(s) are not there, please check any other process you have running onthe server (especially antivirus) to make sure that they are not deleting such files.

If the files are instead there, it is possible that an application (antivirus/backups) is intercepting the file, preventing it from being written to disk, before SpamFilter has a chance to read it. If for example the files are several MB in size, the server has a high CPU usage, and the antivirus software you run is not high performance, it is possible that the A/V locks the file before SpamFilter is able to read it.

Please let us know if any of the above factors could be a cause.

Roberto F. LogSat Software


Posted By: Guests
Date Posted: 12 January 2005 at 10:28am

THanks Robert I will try to get the info you requested. Also whats the actually Service name for the spamfilter service, I would like to setup an hourly restart of it.  This does clear the problem short of rebooting the server.

Thx

Jerry



Posted By: Guests
Date Posted: 12 January 2005 at 10:30am

Oh, I forgot I don't run any A/V software on the drives, however I do run an A/V smtp engine. When spamfilter approves a message it then hands it off to the A/V engine. "Nav for Gateways".  This combination works very well.

Thx

Jerry



Posted By: Desperado
Date Posted: 12 January 2005 at 1:46pm

Jerry,

If you have Perl on your tystem, thew following will restart the service:

system('net stop "spamfilter"');
sleep(20);
system('net start "spamfilter"');

If you do not have perl, the batch file will need an answer after the pause:

Windows "cmd" file
net stop "spamfilter
pause
net start "spamfilter
exit

Regards,

Dan S.



Posted By: Guests
Date Posted: 12 January 2005 at 2:56pm

Hi Dan, nope, just a win2k server. 

thx

jerry

 




Print Page | Close Window