[Date Prev][Date Next]
Re: (ITS#7167) regression, ldap_result() returns -1
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#7167) regression, ldap_result() returns -1
- From: email@example.com
- Date: Wed, 15 Feb 2012 21:31:32 GMT
- Auto-submitted: auto-generated (OpenLDAP-ITS)
Howard Chu wrote:
> firstname.lastname@example.org wrote:
>> Full_Name: Jan Vcelak
>> Version: 2.4.29
>> OS: Linux
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (18.104.22.168)
>> There is a possible regression caused by
>> SSSD's event loop listens for events on a file descriptor retrieved using
>> ber_sockbuf_ctrl(sb, LBER_SB_OPT_GET_FD,&ber_fd). If there are some data to be
>> read, processing using ldap_result is triggered. (Internally, tevent from Samba
>> project is used, which uses epoll.) But sometimes, ldap_result() returns -1
>> error code. It seems that the descriptor is marked as readable untimely.
>> This problem is not present with OpenLDAP 2.4.26, it appears with all future
>> versions. When the mentioned commit is reverted, everything works well.
>> Original report in our Bugzilla:
> Thanks for the report and the detailed investigation, but this sounds to me
> like a kernel bug. We expect select/epoll/whatever to only return that a
> descriptor is readable if it actually is readable. (Gosh, who'dathunkit.) If
> not, then these syscalls are not behaving as documented/designed.
By the way, the patch in question was due to ITS#7035; you should read that
ITS for the motivation behind this change.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/