|Summary:||crash in ldap_initialize with multiple threads|
|Product:||Red Hat Enterprise Linux 6||Reporter:||Rich Megginson <rmeggins>|
|Component:||389-ds-base||Assignee:||Rich Megginson <rmeggins>|
|Status:||CLOSED ERRATA||QA Contact:||IDM QE LIST <seceng-idm-qe-list>|
|Version:||6.3||CC:||amsharma, jgalipea, shaines|
|Fixed In Version:||389-ds-base-18.104.22.168-9.el6||Doc Type:||Bug Fix|
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.
|Last Closed:||2012-06-20 07:15:31 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Rich Megginson 2012-04-25 01:01:47 UTC
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.
Comment 2 Rich Megginson 2012-04-30 16:27:05 UTC
*** Bug 816037 has been marked as a duplicate of this bug. ***
Comment 3 Amita Sharma 2012-05-07 06:10:26 UTC
I have tested this with stress testing, No core dumps found hence marking VERIFIED.
Comment 4 Rich Megginson 2012-05-24 23:56:41 UTC
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.
Comment 5 errata-xmlrpc 2012-06-20 07:15:31 UTC
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