corrupted db files?

Fletcher Mattox fletcher at cs.utexas.edu
Tue Dec 31 19:01:47 CET 2002


> Fletcher,
> 
> There's definitely something wrong.  A token's count should be less than 
> the number of messages (MSG_COUNT) processed (if using the Robinson or 
> Robinson-Fisher methods) or less than 4 times MSG_COUNT (if using Graham 
> method).  

I am using the default method (no config file), which I think is Robinson.

> Also, all calls to db_setvalue() check for negative values and 
> replace them by 0.  You should never see huge values like you're reporting.

Interestingly, bogofilter still works.  Or at least is not badly broken.
I had run a week like this before I even noticed it.

> What version of bogofilter are you running?  If not the latest stable 
> version, i.e. 0.9.1.2, you should upgrade for all the newest features and 
> the best code.

0.9.1.2,

> If you start with a fresh database can you reproduce the problem?

It has happened twice now.  Both times took about a week to manifest.

I wonder if it's a file locking problem.  I'm running on Solaris 7,
where read locking always fails:

	cs.utexas.edu$ ./bogofilter -v -d . </etc/motd
	[8096] [0] Faked blocking read lock on ./goodlist.db
	[8096] [1] Faked nonblocking read lock on ./spamlist.db
	X-Bogosity: No, tests=bogofilter, spamicity=0.000415, version=0.9.1.2
	cs.utexas.edu$ 

I don't know why this happens (or if it's serious), but it appears
that fcntl() is returning EAGAIN.  It does not happen under linux.
However, I don't see how failure of read locking could corrupt the db.
I have never noticed lock failure while writing to the database, but
I could easily have missed that.




More information about the Bogofilter mailing list