From: Anthony Howe
Date: 2007-09-20 10:15:42 -0400
Subject: Re: milter-spamc timing out after 10 seconds? - new
More information..: http://www.milter.info/#Support
Ben Spencer wrote:
> 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
> 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
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
Copyright 2009, 2012 by SnertSoft. All rights reserved.