Hi

I have qpsmtpd version .32 running on debian sarge using the debian
package from unstable. I have been having the odd case where the
qpsmtpd-forkserver would die. Not sure exactly why as there where no
errors in the log so I suspect that I might have been hitting limits on
the server due to a lot of connections. I had been running it as a
init.d daemon process as the default in debian but I thought that as I
am running qmail on the server and so have daemontools available I
thought I would swtich it over so that fork-server was run via supervise
so if it did die it would be automatically restarted.

This seems to have worked ok I have a /etc/qpsmtpd/run file:

#!/bin/sh
export QPSMTPD_CONFIG="/etc/qpsmtpd"
exec 2>&1 \
sh -c '
exec \
/usr/local/bin/softlimit -m 25000000 \
${PERL-perl} -T /usr/bin/qpsmtpd-forkserver \
--listen-address 66.179.181.208 \
--port 25 \
--limit-connections 40 \
--max-from-ip 10 \
--user qpsmtpd
'

and a /etc/qpsmtpd/log/run file:

#! /bin/sh
export LOGDIR=/var/log/qpsmtpd_tcp
mkdir -p $LOGDIR
exec multilog t s1000000 n20 $LOGDIR

I found that once I added the export QPSMTPD_CONFIG="/etc/qpsmtpd" the
logging is done as specified in the plugins config rather than through
multilog. What multilog does show though is the following:

@4000000044b5b25b083ad984 FATAL LOGGING PLUGIN ERROR: Can't call method
"notes" on unblessed reference at
/usr/share/qpsmtpd/plugins/logging/file line 216.
@4000000044b5b25b083b71dc FATAL LOGGING PLUGIN ERROR: Can't call method
"notes" on unblessed reference at
/usr/share/qpsmtpd/plugins/logging/file line 259.

To fix this I had to change the logging plugin that is set int the file
/etc/qpsmtpd/logging. Rather than using the file plugin I am using the
adaptive plugin which was the only one that mentioned multilog.
Apparently I can log ACCEPT and REJECT to separate files but I tried to
use the run file for multilog that the adaptive log described but that
didn't work as qpsmtpd appeared to fail to start properly so I went back to
the orginial log/run file.

The line I am using in the logging file is:

logging/adaptive accept LOGINFO reject LOGINFO

What I have noticed no in the logs that are coming from multilog is that I
seem to see a build up of cleaning up after .... messages in the logs:

2006-07-14 11:00:45.373401500 19368 ` cleaning up after 32318
2006-07-14 11:00:45.373446500 19368 ` cleaning up after 1440
2006-07-14 11:00:45.373449500 19368 ` cleaning up after 2817
2006-07-14 11:00:45.373452500 19368 ` cleaning up after 1376
2006-07-14 11:00:45.373454500 19368 ` cleaning up after 5664
2006-07-14 11:00:45.373457500 19368 ` cleaning up after 5587
2006-07-14 11:00:45.373459500 19368 ` cleaning up after 13493
2006-07-14 11:00:45.373462500 19368 ` cleaning up after 7969
2006-07-14 11:00:45.373464500 19368 ` cleaning up after 9669

If I restart qpsmtpd

# svinitd qpsmtpd restart

I will see the cleaning up after messages gradually build up as messages get
processed by qpsmtpd. I didn't notice this happening when I was using the
file logging plugin rather than the adaptive logging plugin but am not sure
if this is just being picked up because I switched to the adaptive plugin
using multilog or if it has just started and is a problem in my
configuration with the new logging plugin in and the way I am running
qpsmtpd-forkserver under supervise.

Does anyone have any thoughts on why I would be seeing this in the logs?

Thanks for any help

John

--
John Habermann
Internet Programmer, System Administrator
The Wilderness Society Inc
http://www.wilderness.org.au

Reply via email to