Bug 815991 - crash in ldap_initialize with multiple threads
Summary: crash in ldap_initialize with multiple threads
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: 389-ds-base
Version: 6.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Rich Megginson
QA Contact: IDM QE LIST
URL:
Whiteboard:
: 816037 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-25 01:01 UTC by Rich Megginson
Modified: 2020-09-13 20:09 UTC (History)
3 users (show)

Fixed In Version: 389-ds-base-1.2.10.2-9.el6
Doc Type: Bug Fix
Doc Text:
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.
Clone Of:
Environment:
Last Closed: 2012-06-20 07:15:31 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 348 None None None 2020-09-13 20:09:33 UTC
Red Hat Product Errata RHSA-2012:0813 normal SHIPPED_LIVE Low: 389-ds-base security, bug fix, and enhancement update 2012-06-19 19:29:15 UTC

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


Note You need to log in before you can comment on or make changes to this bug.