This sounds like ITS#2490. This may be rather difficult to track down since it appears to be timing related, and also depending on the CPU speeds. It is unlikely that you're returning thru line 680 of liblber/io.c unless your C compiler ignores assert() statements. If you've gotten this far, you might try putting some breakpoints in there and also look at the error code in errno when it's about to return LBER_DEFAULT. Set a breakpoint at each of the return statements so you can see what's really making it return the error. Or examine the pointers in the ber structure and see where they're pointing, if that's really the problem. -- Howard Chu Chief Architect, Symas Corp. Director, Highland Sun http://www.symas.com http://highlandsun.com/hyc Symas: Premier OpenSource Development and Support > -----Original Message----- > From: owner-openldap-software@OpenLDAP.org > [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Patrick Dreyer, SY-UCP > Hi > > I'm doing a search with ldap_search_ext() which returns 1000 results. > The problem is, that ldap_result() fails during processing the results > and returns with -1 and zero for the LDAPMessage. > ber_get_next() returns with LBER_DEFAULT. > > ber_get_next() (io.c v 1.70.2.10) > ============== > Line 641: > if ((ber->ber_rwptr>=ber->ber_buf) && > (ber->ber_rwptr<ber->ber_end)) { > > ber->ber_rwptr is not between ber->ber_buf and ber->ber_end and so the > line 680 > > assert( 0 ); /* ber structure is messed up ?*/ > return LBER_DEFAULT; > > is reached.
<<attachment: winmail.dat>>