Red Hat Bugzilla – Bug 815991
crash in ldap_initialize with multiple threads
Last modified: 2012-06-20 03:15:31 EDT
This bug is created as a clone of upstream ticket: https://fedorahosted.org/389/ticket/348 If multiple threads call ldap_initialize at the same time, the program will crash. We have seen this in the server and in threaded tools such as ldclt on multiple platforms with openldap 2.4.24-2.4.30. Threaded programs need to have a mutex around calls to ldap_initialize. This can be reproduced by increasing the number of threads used by ldclt - you should eventually hit the crash - or by configuring the directory server with many (8) replication agreements, and repeatedly stopping and starting the server. It will eventually crash at startup.
*** Bug 816037 has been marked as a duplicate of this bug. ***
I have tested this with stress testing, No core dumps found hence marking VERIFIED.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: Using replication with many replication agreements. Consequence: Server crashes at startup. Fix: ldap_initialize() is not thread-safe. Use a mutex to make sure only one thread at a time calls it. Result: Server does not crash at startup when using replication with many replication agreements.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0813.html