[exim] Queue runner never finish execution

Top Page
Delete this message
Reply to this message
Author: Borja Pacheco Ortega
Date:  
To: Exim-users
Subject: [exim] Queue runner never finish execution

Dear all,

We have a problem with queue runners because sometimes they never finish its
execution and the queue process remain running for ever (processes are
alive, but they don't do effective thing, just only generate some logs
periodically: just screaming about they can't connect ldaps servers).

This issue is becoming a problem because they are using a lot of memory, and
servers are starting to use swap. This issue make us to restart server every
time.

We have tried to investigate the origin of the problem but it's not clear
for us (we have used gdb, strace and inspected the source. Further details
on: http://www.exim.org/bugzilla/show_bug.cgi?id=516), we are considering
two reasons:

1. Sometime the queue runner loses its connection to ldap server (probably
because openldaps are configured to close idle connections) and it doesn't
detect the close, and can't follow on the delivery.
This seems not to be feasible, as long as I understand how exim works,
because exim opens connections to ldap everytime it needs to make a ldap
lookup, doesn't it?

2. There's a lock in some function invoked from deliver_message(), perhaps
related to retry.lockfile.

Any case, another thought is that exim, under these conditions, has a leak
of memory because the "frozen" queue_runner is allocating memory all the
time. What do you thing about this?

Any opinion and/or advise will be very appreciated.

Best Regards.

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.472 / Virus Database: 269.9.1/857 - Release Date: 20/06/2007
14:18