[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#3832) slapd-read occasionally hangs while testing back-meta

This can be particularly aggravating to track down. I've run into 
select() hangs that free up as sonn as gdb attaches before; seems to be 
a bad interaction with the threads scheduler.

It might be worthwhile to check netstat connection and buffer 
statistics, perhaps the kernel has run low on socket resources. Perhaps 
it has to do with the listener backlog. (Just some wild guesses.)

ando@sys-net.it wrote:
> It may occur (very rarely) that a client, usually slapd-read, hangs while
> testing back-meta in test036.  The client appears to hang on ldap_bind_s().  The
> funny thing is that the proxy server doesn't show any activity and, from the
> logs, nothing about that connection appears.  As soon as I attach the slapd-read
> process with gdb, the select() (or the poll()) in ldap_pvt_select() wakes up,
> and the client terminates with a "serverUnavailable" error.  Nothing significant
> appears from the trace of both processes (in slapd there's little to say: all
> threads are idling).
> Unfortunately I don't have a trace handy, but in case I can try to produce the
> condition (it's rare, but it may definitely occur).  A similar behavior was
> noted in back-meta when binding to the remote server under heavy load during
> concurrency tests; I cured it by always performing asynchronous binds (back-ldap
> already always used asynchronous binds) and by adopting some timeout/retry
> policy when binding.
> My point is that I'd like some advice about what direction to follow in
> investigating the issue.  At the same time, I'm filing this problem as an ITS
> because I want to keep track of it, since it keeps appearing, although very
> rarely.
> p.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support