[maildropl] error writing to filter (bogofilter)

Matthias Andree matthias.andree at gmx.de
Sun Jun 16 11:53:08 CEST 2013


Christian,

Sorting and comparing your ENV dumps with comm -3 yields
(left-justified: only in first part; indented: only in second part;
omitted: common to both parts):

FROM=chris
	FROM=xxxx at xxxx
LINES=4455
	LINES=4458
MAILDIRMAKE=/usr/local/bin/maildirmake
MATCH=Message-ID:
REFORMAIL=/usr/local/bin/reformail
SED=/usr/bin/sed
SIZE=333285
	SIZE=333309

Looks harmless from bogofilter's perspective, it would not use any of those.

I'd now suggest to add a few bogofilter debug options, and redirect its
stdout and stderr to some file, such as (replace DEBUG flags by a
concatenation of *lower-case* characters from the list below), this goes
on one line:

xfilter "bogofilter -u -e -p -vvv -x DEBUG 2>stderr.txt | tee stdout.txt"

#define BIT_ALGORITHM   MASK_BIT('A')
#define BIT_READER      MASK_BIT('B')
#define BIT_CONFIG      MASK_BIT('C')
#define BIT_DATABASE    MASK_BIT('D')
#define BIT_GENERAL     MASK_BIT('G')
#define BIT_HTML        MASK_BIT('H')
#define BIT_ICONV       MASK_BIT('I')
#define BIT_LEXER       MASK_BIT('L')
#define BIT_MIME        MASK_BIT('M')
#define BIT_MULTI       MASK_BIT('U')
#define BIT_REGISTER    MASK_BIT('R')
#define BIT_SPAMICITY   MASK_BIT('S')
#define BIT_TEXT        MASK_BIT('T')
#define BIT_WORDLIST    MASK_BIT('W')
#define BIT_MEMORY      MASK_BIT('Y')
#define BIT_TEST        MASK_BIT('Z')

I think that -x bcdgmty and possibly an added l (letter ell) should be
all you need. stderr.txt will then contain a trace of what bogofilter is
attempting to do and how far it has gotten.  Note it may contain binary
data, so don't dump it to a console directly, but use cat -v or
something else that escapes control characters.

Report those stdout.txt and stderr.txt files to David Relson and myself
by email OFF-LISTS (but I'll probably not be able to look at this before
30 hours from now).

Setting Reply-To: to bogofilter list, to which you are also subscribed.


It may also help to show a trace of

cat offending-message.msg | maildrop -V2
(note that this does *not* reproduce how Postfix calls maildrop, because
your postfix uses maildrop -d chris, but -d is incompatible with -V
according to my maildrop manpage).


As well as the truss.txt you get from:

cat offending-message.msg | truss -aef -o truss.txt maildrop -d chris


(This is assuming "chris" for your login and that Darwin kept FreeBSD's
truss(1). Replace accordingly.)




More information about the Bogofilter mailing list