Bug#299051: exim4+libnss-ldap: Loops infinitely on startup
Florian Weimer
Florian Weimer <fw@deneb.enyo.de>, 299051@bugs.debian.org
Fri, 11 Mar 2005 15:42:05 +0100
* Antonio Kanouras:
> [pid 27674] socket(PF_INET6, SOCK_STREAM, IPPROTO_IP <unfinished ...>
> [pid 27674] <... socket resumed> ) = 3
> [pid 27674] setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
> setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
> setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
> bind(3, {sa_family=AF_INET6, sin6_port=htons(25), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
> listen(3, 20) = 0
FD 3 is one of Exim's listening FDs.
> write(3, "0\201\321\2\1\vc\201\313\4\36ou=People,dc=solistla"..., 212) = -1 EPIPE (Broken pipe)
> --- SIGPIPE (Broken pipe) @ 0 (0) ---
> time(NULL) = 1110490993
> write(3, "0\5\2\1\fB\0", 7) = -1 EPIPE (Broken pipe)
> --- SIGPIPE (Broken pipe) @ 0 (0) ---
> close(3) = 0
Obviously, libnss-ldap thinks it owns that descriptor, and closes it.
My best guess so far is that Exim closes all descriptors after
becoming a daemon, including the ones opened by libnss-ldap. However,
the strace you included doesn't show this part.