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

ITS#2684 test020 assertion failed



I've seen this same result. There are multiple errors involved, or at least
in the case I saw. The assertion is due to a persistent search op trying to
send a reply on a connection that was already closed. The connection was
closed because its cascaded consumer aborted due to an invalid call to
entry_free() with a NULL entry pointer.

I found the latter problem, it's no big deal to fix. The former is more
troublesome. I haven't looked deeply enough yet to see why it is so fragile
wrt network failures, but it needs to be sorted out.

On the consumer side, I think the persistent search op should add a
descriptor to slapd's listener array, rather than sit in a timed polling loop
in ldap_result. We'll need to add a new type of connection handler for this,
but it would make more efficient use of the thread pool and would also
provide better shutdown detection without wasting any CPU.

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