After monitoring the processes while using a watchdog to keep everything at least restarting itself, I came to the following conclusion and fix for this issue -- one that would kill my server's ability to accept email.


My strace of the esmtpd process was always failing with the following:
write(2, "WARN: 35 active connections.\n", 29) = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) ---

In my esmtpd configuration file, which I had carried over from a previous installations, there's a line specifying
TCPDOPTS="-stderrlogger=/usr/lib/courier/sbin/logger"

Which should be changed to
TCPDOPTS="-stderrlogger=/usr/lib/courier/sbin/courierlogger"

In any new installation, this is set correctly; in my upgrade, however, I missed it. In fact, the system as a whole didn't catch it until we reached 35 active esmtp connections; this made for outages that were intermittent and very difficult to track down.


Courier's esmtpd process was attempting to write out to a process that didn't exist, and this was in turn killing the process.

Anybody else still have this set incorrectly in esmtpd?

Skyler


On Dec 22, 2003, at 4:10 PM, Sam Varshavchik wrote:


Skyler Shepard writes:

It would seem that the couriertcpd service is possibly restarting itself, but somehow fails to startup on some instances.

couriertcpd never restarts itself. The parent process is actually a very small loop that forks off new processes to handle established connections, and then keeps track of them until they die.



I'd be glad to post other information about my setup if anybody has ideas about what may be going on.

The only thing you could possibly do is monitor the parent couriertcpd process using strace. Note that since it could be a while before an occurence of this problem, the log file may get quite large.


If you're running low on memory, and you're running a Linux kernel with OOM killer enabled, the explanation is probably as simple as the kernel explicitly killing couriertcpd in a vain attempt to free up memory.




------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ courier-users mailing list [EMAIL PROTECTED] Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to