jvcelak@redhat.com wrote:
Full_Name: Jan Vcelak Version: 2.4.29 OS: Linux URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (209.132.186.34)
There is a possible regression caused by 06ec9f1db2bb9dc304a4adcd0d0506203cf9e6b6.
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: https://bugzilla.redhat.com/show_bug.cgi?id=771484
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.
It was also reported in Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/929888
And i similar report, hopefully with the same cause: https://bugzilla.redhat.com/show_bug.cgi?id=790414