bogofilter/bogoutil concurrency crash?

Jim Correia jim.correia at pobox.com
Mon Apr 7 04:10:02 CEST 2003


On Sunday, April 6, 2003, at 10:21  PM, David Relson wrote:

> Nope.  It doesn't help.  The proper behavior is for the second 
> bogofilter to wait for the first bogofilter to release the file lock.  
> If the lock isn't released in a while (see the code for the 
> randomizing of wait times), the second bogofilter should give an error 
> exit (which procmail will notice if you have the "errcode 75" check in 
> your procmailrc).
>
> The segfault you're getting from the manual run is (probably) the same 
> as "make check" generates and is a locking problem on OS-X.

David,

I am slow driving gdb in the terminal, but it looks like there are some 
legitimate bugs in db_open (it peeks at disposed memory and it looks 
like it does the wrong thing when db_lock returns EAGAIN).

I've fixed them here. My problem is gone, and all tests now pass.

What is the best way to submit a patch? (Can I send you datastore_db.c, 
or do you want a patch file, etc?)

Jim

make  check-TESTS
PASS: t.env
PASS: t.ignore_spam_header
PASS: t.integrity
PASS: t.integrity2
PASS: t.integrity3
PASS: t.lexer
./t._abort: line 6:  3627 Abort trap              ( ./abortme )
PASS: t.abort
PASS: t.lock1
PASS: t.lock2
PASS: t.nullstatsprefix
PASS: t.score1
PASS: t.score2
===================
All 12 tests passed
===================
Making check in bogoutil
make  check-TESTS
Running test 1
Running test 2
Running test 3
Found a message count of [4] in db. Throwing away text file count of [1]
Running test 4
This database appears to have been upgraded already.
But there's no harm in doing it again.
PASS: driver.sh
PASS: t.dump.load
PASS: t.nonascii.replace
==================
All 3 tests passed
==================
Making check in bogofilter
make  check-TESTS
PASS: t.lexer.mbx
PASS: t.regtest
PASS: t.robx
SKIP: t.valgrind
PASS: t.split
PASS: t.systest
PASS: t.grftest
======================
All 6 tests passed
(1 tests were not run)
======================
Making check in .
make[1]: Nothing to be done for `check-am'.
Making check in doc
make[1]: Nothing to be done for `check'.
Making check in contrib
make[1]: Nothing to be done for `check'.





More information about the bogofilter-dev mailing list