[exim] Exim crashed after reboot

Top Page
Delete this message
Reply to this message
Author: Adam Stephens
Date:  
To: exim-users
Subject: [exim] Exim crashed after reboot
We have a mailstore which accepts mail via SMTP and delivers it to
Cyrus IMAP using the LMTP driver. The Exim version is 4.63 and it's
started like this:
exim -bd &
exim -q5m &

We rebooted this server last week and exim failed to start up. It logged
this:

2007-01-02 17:52:57 exim 4.63 daemon started: pid=524, no queue at
startupruns, listening for SMTP on port 25 (IPv4)
2007-01-02 17:52:57 exim 4.63 daemon started: pid=525, -q5m, not
listening for SMTP
2007-01-02 17:52:58 1H1gZk-000154-44 ==
rtdjf@??? R=local_cyrus_user
T=local_cyrus_deliver defer (-1): Failed to connect to socket
/var/cyrus/imap/socket/lmtp for local_cyrus_deliver transport:
Connection refused
2007-01-02 17:53:04 queue run: process 563 crashed with signal 15 while
delivering 1H1ga7-000187-7q

Both exim processes die, and nothing further is logged until the server
is restarted.

Both of the messages mentioned were already on the local queue when Exim
was stopped, and they're delivered without problem when Exim is
restarted successfully the following day. The socket error is probably
because cyrus-imap hasn't finished initialising by the time Exim starts
trying to deliver to it, which normally causes Exim to log this error
and requeue the message, and should be nothing to worry about. My guess
is that the fatal error is also caused by trying to deliver whilst the
LMTP socket is starting up.

Looking at the code that generates the logged error suggests that Exim
expects to survive this kind of delivery failure. Everything else on
this machine started up OK, and restarting Exim via the init scripts
fixed the problem.

So, I'm wondering why Exim crashed, and how a child of the queue runner
process crashing manages to kill the queue runner and SMTP listener
processes as well. I'd be grateful for advice from someone more familiar
with the code... I don't want to have to manually restart Exim to get
deliveries going every time one of our mailstores is rebooted.

cheers,
Adam.
--
--------------------------------
Adam Stephens.
Network Specialist - Email & DNS
adam.stephens@???