On Tue, 19 Feb 2002, mark david mcCreary wrote:
> I have been getting the following error messages in the paniclog file
> of Exim 3.34 on Debian 3.0 (Woody)
>
> 2002-02-19 14:11:21 16dArI-0004Tq-00 failed to get IP address of
> stdin when socket passed from previous delivery: Socket operation on
> non-socket
> 2002-02-19 14:11:21 16dArI-0004Tq-00 failed to get IP address of
> stdin when socket passed from previous delivery: Socket operation on
> non-socket
> 2002-02-19 14:11:21 16dArI-0004Tq-00 failed to get IP address of
> stdin when socket passed from previous delivery: Socket operation on
> non-socket
One of the changes for Exim 3.34 was this:
9. There was no check that getpeername() was giving a socket address
when called on stdin passed from a previous delivery.
This check would produce that error. Previously, the Exim delivery
crashed.
The circumstances of this are that an Exim process is trying to deliver
a second or subsequent message over a previously created TCP/IP
connection. Clearly something has gone wrong in handing over the socket.
The message is not lost in either 3.33 or 3.34. It gets delivered by a
queue runner later. The only difference is that 3.34 is cleaner and logs
what actually happened.
So, we are left with the real mystery, which is how it gets into this
situation in the first place. Are you seeing these messages regularly,
or was that the only instance? It might be instructive to look at the
mainlog entries for 16dArI-0004Tq-00 to see if they shed any light. Also
on other log entries around the same time as those ones. Please send
them to me privately (we don't want to clog the list with this stuff).
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.