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