[milters] Archive

Lists Index Date Thread Search

Article: 1710
From: Anthony Howe
Date: 2007-09-20 10:15:42 -0400
Subject: Re: milter-spamc timing out after 10 seconds? - new

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support
--------------------------------------------------------

Ben Spencer wrote:
> Confirmation:
> Milter-gris: F=T;T=C:1m;S:30s;R:6m;E:1m
> Milter-date: F=T;T=C:1m;S:30s;R:90s;E:1m
> Milter-link: F=T;T=C:30s;R:1m;E:5m
> Milter-spiff: F=T;T=C:1m;S:30s;R:6m;E:1m
> Milter-p0f: F=T;T=C:1m;E:1m
> Milter-spamc: F=T;T=C:15m;S:4m;R:4m;E:10m
> Clamav-milter: T=S:4m;R:4m;C:30s;E:10m
> Spamass-milter: T=C:15m;S:4m;R:4m;E:10m
> 
> Notes: 
> 1) I experience the 10 second timeout with milter-spiff, milter-spamc
> 2) I use clamav-milter instead of milter-clamc because I previously
> experienced this 10 second timeout with it also; I do not see these timeouts
> with clamav-milter

This 10 seconds timeout issue is most unusual and I'm at a loss as to 
where to look next. The fact that it affects two content filters 
(-spamc, -clamc) made me suspect some issue in my socketWrite() code in 
filterBody() handler, but the inclusion of milter-spiff, an envelope 
milter has me baffled. I can only speculate that, if there is a problem, 
it is in libsnert smf.c init code or socket2.c API some how.

On mx.snert.net, which runs milter-clamc, -spamc, and -link currently I 
find no instances of "timeout before data read" or "to error state" in

the maillog. (My system OpenBSD, Sendmail 8.14.1)

BTW you've stated the OS version, but not that of Sendmail & libmilter. 
I trust you have the matching version of libmilter and headers for the 
sendmail you're running, since 8.14 introduced many new things over 
8.13; mixing the two might have unusual behaviour - just guessing.

> Results are received from SpamAssassin by milter-spamc (per logs) even after
> Sendmail has sent the connection (from its point of view) into an error
> state. Not sure what that means for sure though.

The milter doesn't know that sendmail has given up on it, so it will try 
to complete the that part of the communications with sendmail and 
probably timeout trying to write to sendmail.

> I am not ruling out some OS tcp connection state issue/timeout either -- I
> just can't find anything which sets such things or know why these
> connections would be any different then say spamass-milter (which forks
> spamc).

Mystery. I'll send you milter-noop to try, essentially a framework 
testing and debug logging milter.

In milter-spamc.cf try "verbose=info,trace,dialog,libmilter"

On Linux, have a wander through /proc/sys/net/ipv4. Check the keepalive 
settings and anything else that looks interesting. I not well versed in 
TCP/IP parameters, so not much help and OpenBSD's sysctl net.inet.* are 
different from Linux that I can't compare.

-- 
Anthony C Howe          Skype: SirWumpus                    SnertSoft
+33 6 11 89 73 78         ICQ: 7116561          BarricadeMX & Milters
http://www.snert.com/                 
     http://www.snertsoft.com/

Lists Index Date Thread Search