Bug 701558

Summary: ldclt core dumps
Product: Red Hat Enterprise Linux 6 Reporter: RHEL Program Management <pm-rhel>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: Chandrasekar Kannan <ckannan>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.1CC: amsharma, benl, ckannan, dpal, jgalipea, jwest, nhosoi, pm-eus, rmeggins
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.2.8.2-1.el6_1.1 Doc Type: Bug Fix
Doc Text:
The ldclt command line testing tool crashed during LDAP ADD operations because an LDAP attribute was not set correctly, preventing the creation of nodes that did not already exist. This update allows the LDAP ADD to proceed correctly.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-23 18:42:36 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 700215    
Bug Blocks:    

Description RHEL Program Management 2011-05-03 08:31:18 UTC
This bug has been copied from bug #700215 and has been proposed
to be backported to 6.1 z-stream (EUS).

Comment 6 Amita Sharma 2011-05-04 11:15:59 UTC
[root@rhel61-ds90-amita builds]# /usr/bin/ldclt-bin -h 10.16.98.212 -p 20100 -D "cn=Directory Manager" -w Secret123 -e "add,person,incr,noloop" -r 0 -R 50000 -b "ou=test,dc=example,dc=com" -f "cn=monsieur XXXXX" -I 68 -I 32 -q -n 1
ldclt version 4.23
ldclt[29930]: Starting at Wed May  4 16:04:29 2011

ldclt-bin: add.c:125: ldap_add_ext: Assertion `( (ld)->ld_options.ldo_valid == 0x2 )' failed.
Aborted (core dumped)

Comment 7 Rich Megginson 2011-05-04 14:33:07 UTC
Noriko, did you see this in your testing?

Comment 8 Noriko Hosoi 2011-05-04 16:27:49 UTC
(In reply to comment #7)
> Noriko, did you see this in your testing?

It looks a bit different from the previous error.  It used to be 'ld == 0', but now ld stores a garbage address (or not initialized???)
    https://bugzilla.redhat.com/show_bug.cgi?id=700215; original report:
    ldclt[27217]: T000: Cannot add (cn=monsieur 000000000,o=farm1,o=cbrLD.com),
error=32 (No such object)
    ldclt-bin: add.c:124: ldap_add_ext: Assertion `ld != ((void *)0)' failed.

    Program received signal SIGABRT, Aborted.

Comment 9 Noriko Hosoi 2011-05-04 18:05:46 UTC
Amita, just before you got this assertion failure, did you get an error, such as error=32 as I put below?

[root@rhel61-ds90-amita builds]# /usr/bin/ldclt-bin -h 10.16.98.212 -p 20100 -D
"cn=Directory Manager" -w Secret123 -e "add,person,incr,noloop" -r 0 -R 50000
-b "ou=test,dc=example,dc=com" -f "cn=monsieur XXXXX" -I 68 -I 32 -q -n 1
ldclt version 4.23
ldclt[29930]: Starting at Wed May  4 16:04:29 2011

ldclt-bin: add.c:125: ldap_add_ext: Assertion `( (ld)->ld_options.ldo_valid ==
0x2 )' failed.
Aborted (core dumped)

ldclt[8393]: T000: Cannot add (cn=monsieur 000000000,o=farm1,dc=example,dc=com), error=32 (No such object)

Most likely what is happening is ... ldclt is multi-threaded; once it detects an error on one thread, it closes the connection.  But the other threads could keep running using the closed connection and it runs into the assertion failure.  Since it's a concurrency issue, other threads could start the task before the connection is closed.  So, ldclt could be just lucky not to get crashed some time (I guess it was the Chandra's case.)

Could you create an entry o=farm1,o=cbrLD.com and run ldclt, once more?

    o=farm1,o=cbrLD.com
    objectClass: top
    objectClass: organization
    o: farm1

If it works, I'd think this is not a test stopper...

Comment 10 Amita Sharma 2011-05-05 07:15:34 UTC
[root@rhel61-ds90-amita ~]# /usr/bin/ldclt-bin -h 10.16.98.212 -p 2010 -D "cn=Directory Manager" -w Secret -e "add,person,incr,noloop" -r 0 -R 50000 -b "ou=test,dc=example,dc=com" -f "cn=monsieur XXXXX" -I 68 -I 32 -q -n 1
ldclt version 4.23
ldclt[12342]: Starting at Thu May  5 11:50:26 2011

ldclt[12342]: Average rate: 2982.00/thr  ( 298.20/sec), total:   2982
ldclt[12342]: Average rate: 2505.00/thr  ( 250.50/sec), total:   2505
ldclt[12342]: Average rate: 2534.00/thr  ( 253.40/sec), total:   2534
ldclt[12342]: Average rate: 2472.00/thr  ( 247.20/sec), total:   2472
ldclt[12342]: Average rate: 2432.00/thr  ( 243.20/sec), total:   2432
ldclt[12342]: Average rate: 2943.00/thr  ( 294.30/sec), total:   2943
ldclt[12342]: Average rate: 3171.00/thr  ( 317.10/sec), total:   3171
ldclt[12342]: Average rate: 2313.00/thr  ( 231.30/sec), total:   2313
ldclt[12342]: Average rate:  952.00/thr  (  95.20/sec), total:    952
ldclt[12342]: Average rate:  915.00/thr  (  91.50/sec), total:    915
ldclt[12342]: Average rate:  920.00/thr  (  92.00/sec), total:    920
^C
ldclt[12342]: Global average rate: 24139.00/thr  (219.45/sec), total:  24139
ldclt[12342]: Global number times "no activity" reports: never
ldclt[12342]: Global no error occurs during this session.
Catch SIGINT - exit...
ldclt[12342]: Ending at Thu May  5 11:52:24 2011
ldclt[12342]: Exit status 0 - No problem during execution.

Comment 11 Laura Bailey 2011-05-17 04:55:06 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:
The ldclt command line testing tool crashed during LDAP ADD operations because an LDAP attribute was not set correctly, preventing the creation of nodes that did not already exist. This update allows the LDAP ADD to proceed correctly.

Comment 12 errata-xmlrpc 2011-05-23 18:42:36 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0824.html