Bug#253138: bogofilter: error when processing concurrently from procmail

David Relson relson at osagesoftware.com
Mon Jun 7 16:01:55 CEST 2004


On Mon, 7 Jun 2004 08:20:22 -0400
Clint Adams wrote:

> Thinko somewhere?
> 
> On Mon, Jun 07, 2004 at 01:53:07PM +0200, Erwan David wrote:
> > 
> > When using bogofilter from procmail without lock (as said in man
> > page), when several messages arrive at same time (from fetchmail,
> > uucp or /etc/periodic) I get error :
> > 
> > bogofilter: (db) DB->open(/home/edavid/.bogofilter/wordlist.db) -
> > actually /home/edavid/.bogofilter/wordlis
> > t.db bogohome: /home/edavid/.bogofilter -, err: 17, File exists
> > Can't open file 'wordlist.db' in directory
> > '/home/edavid/.bogofilter'. error #17 - File exists.
> > procmail: Program failure (3) of "bogofilter"
> > procmail: Rescue of unfiltered data succeeded
> > 
> > Using a lock (and thus serializing in procmail the use of
> > bogofilter) makes those messages disappear.
> > 
> > There was no problem with 0.91.0
...[snip]...

Hi Clint,

At the beginning of May the .WORDLIST_VERSION meta-token was added to
bogofilter's wordlist.  At the moment it's sole use is determining the
prefix for subnet tokens, i.e. whether they should be url:12.34.56.78 or
ip:12.34.56.78.  More recently it was realized that .WORDLIST_VERSION
wasn't being set for newly created wordlists.  In older versions of
bogofilter, when it needed to read the wordlist and it didn't exist, the
db_open() routine would simply create the wordlist.  Now, ds_open() is
responsible for creating the wordlist (if necessary) and adding the
meta-token (if appropriate).  As Erwan David discovered, this is not yet
being done correctly.  Later today, I'll look at it in greater depth and
see what sort of solution I can create.

Regards,

David



More information about the bogofilter-dev mailing list