Michael Ströder wrote:
hyc(a)symas.com wrote:
> The debug output shows that a read attempt was queued up for a socket that was
> closed. This is a normal occurrence when an LDAP client closes its connection
> immediately after sending its last request (Unbind here) and slapd doesn't
> have enough CPU resources to process the read attempt immediately.
Just because of not enough CPU? Are you sure?
"not enough CPU" is relative here. The socket layer receives the Unbind and
close pretty much atomically, while slapd receives them as two separate
events. Given that slapd *always* receives these as two separate events, it
can *never* be "fast enough" to process this without at least one extraneous
"no connection" occurrence.
This is a local test server on a 99% idle dual-core notebook which
did not do
anything else than processing a single search and after the client received
all the results (72 entries, few short text attributes) the client sends the
unbind. Nothing else is happening. And I can reproduce it everytime.
> If you're reporting a hang with OpenLDAP, you should have
said that
> explicitly. If not, then I see no bug here and this ITS will be closed.
I'm so cautious about this because I had a situation where a slapd process (a
provider) died several times. And the last message seen in the syslog was
exactly "connection_read(20): no connection!".
If you see that, run the slapd with gdb attached and get a trace when it dies.
There's nothing here that indicates anything abnormal. Closing this ITS.
--
-- Howard Chu
CTO, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/