GNOME Bugzilla – Bug 665381
LDAP backend crash when query_ldap_root_dse() fails
Last modified: 2012-04-20 08:34:09 UTC
Moving this from a downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=758547 libreport version: 2.0.7 abrt_version: 2.0.6 backtrace_rating: 4 cmdline: /usr/libexec/e-addressbook-factory comment: I added a new LDAP server and tried to connect to it by clicking the entry in Evolution's sidebar. This crash happens every time I try to expand it. crash_function: ldap_int_select executable: /usr/libexec/e-addressbook-factory evolution-data-server-3.2.2-1.fc16 kernel: 3.1.1-1.fc16.x86_64 pid: 11663 reason: Process /usr/libexec/e-addressbook-factory was killed by signal 6 (SIGABRT) time: Tue 29 Nov 2011 06:19:57 PM PST ------------------------------------------------------------------------------ After an investigation with the downstream reporter it turned out that if the server returns LDAP_UNWILLING_TO_PERFORM in query_ldap_root_dse(), then it causes the addressbook factory crash. I can reproduce it if I cheat the code in the LDAP book backend, to see also > libebookbackend-WARNING **: could not perform query on Root > DSE (ldap_error 0x35/Server is unwilling to perform) which is shown in user's valgrind log as well. My backtrace of the crash from git master of eds with the cheated code looks like: (evolution-addressbook-factory:15155): libebookbackend-WARNING **: could not perform query on Root DSE (ldap_error 0x35/Server is unwilling to perform) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffddbf7700 (LWP 15160)] 0x00007fffec3c4284 in ldap_int_select (ld=0x7fffd80034e0, timeout=0x0) at os-ip.c:1107 1107 rc = poll( sip->si_fds, sip->si_maxfd, to );
+ Trace 229204
Thread 2 (Thread 0x7fffef119700 (LWP 15158))
Created attachment 202594 [details] [review] proposed eds patch for evolution-data-server; This should make it. I'm checking with the downstream reporter whether it'll work for him too.
Created commit 3f820b7 in eds master (3.5.1+)