[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
ITS#3985 test039 hangs on Windows
- To: OpenLDAP Devel <openldap-devel@OpenLDAP.org>
- Subject: ITS#3985 test039 hangs on Windows
- From: Howard Chu <hyc@symas.com>
- Date: Fri, 07 Oct 2005 11:06:13 -0700
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20050925 SeaMonkey/1.1a
There appears to be more than one failure condition here. Aside from the
extremely slow execution when the test succeeds, I still see infinite
hangs occurring.
My latest run from last night is still running now, and slapd.3.log
shows there is a msgID in Request Completed state that has been on the
queue for the past 12 hours with no other activity occurring on any of
the clients or servers. It appears that someone has lost track of this
request after chasing a referral unsuccessfully.
I'm finding the lm->lm_chain/lm_chain_tail processing code to be rather
unconvincing here, wondering if it is related to the loss of state.
In particular, the use of lm_chain_tail in ldap_parse_result makes
little sense. The initial code assumes that the message pointed to by
lm_chain_tail is the first result of interest. Then after that parse is
done, the bit about "Find the next result..." acts as if there may be
another result after the tail. Clearly if we were already on the "tail"
message there should not be anything following it. I believe the use of
chain_tail here to optimize the retrieval of the result message is a bad
idea.
On the other hand, when exactly is it possible for a single request to
have more than one result message? Googling for
LDAP_MORE_RESULTS_TO_RETURN shows that at least Sun/Netscape think this
can only happen as the result of a SASL Bind request. But there's
nothing in the protocol spec (or LDAPbis drafts) that mentions this. It
appears that this error code has no real application, and "Find the next
result..." is wasted effort. What's really going on here?
--
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc
OpenLDAP Core Team http://www.openldap.org/project/