Bug 700215 - ldclt core dumps
Summary: ldclt core dumps
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: 389-ds-base
Version: 6.1
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: rc
: ---
Assignee: Rich Megginson
QA Contact: Chandrasekar Kannan
URL:
Whiteboard:
Depends On:
Blocks: 701558
TreeView+ depends on / blocked
 
Reported: 2011-04-27 19:32 UTC by Chandrasekar Kannan
Modified: 2015-01-04 23:48 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-06 17:48:32 UTC


Attachments (Terms of Use)
git patch file (master) (946 bytes, patch)
2011-04-28 16:36 UTC, Noriko Hosoi
rmeggins: review+
Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:1711 normal SHIPPED_LIVE 389-ds-base bug fix and enhancement update 2011-12-06 01:02:20 UTC

Description Chandrasekar Kannan 2011-04-27 19:32:58 UTC
[svrbld@storm ~]$ /usr/bin/ldclt-bin -h storm.idm.lab.bos.redhat.com -p 4980 -D uid=buser,o=cbrLD.com -w binduser -e add,person,incr,noloop -r 0 -R 50000 -b o=farm1,o=cbrLD.com -f "cn=monsieur XXXXXXXXX" -I 68 -v -q -n 1
    ldclt version 4.23
    /usr/bin/ldclt-bin -h storm.idm.lab.bos.redhat.com -p 4980 -D uid=buser,o=cbrLD.com -w binduser -e add,person,incr,noloop -r 0 -R 50000 -b o=farm1,o=cbrLD.com -f "cn=monsieur XXXXXXXXX" -I 68 -v -q -n 1
    Process ID         = 27210
    Host to connect    = storm.idm.lab.bos.redhat.com
    Port number        = 4980
    Bind DN            = uid=buser,o=cbrLD.com
    Passwd             = binduser
    Referral           = on
    Base DN            = o=farm1,o=cbrLD.com
    Filter             = "cn=monsieur XXXXXXXXX"
    Max times inactive = 3
    Max allowed errors = 1000
    Number of samples  = -1
    Number of threads  = 1
    Total op. req.     = -1
    Running mode       = 0x0e040009
    Running mode       = quiet verbose incremental noloop add class=person
    LDAP oper. timeout = 30 sec
    Sampling interval  = 10 sec
    Values range       = [0 , 50000]
    Filter's head      = "cn=monsieur "
    Filter's tail      = ""
    Ignore error       = 68 (Already exists)
    ldclt[27210]: Starting at Wed Apr 27 15:15:31 2011
     
    ldclt[27210]: 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.
    Aborted (core dumped)
    [svrbld@storm ~]$
    [svrbld@storm ~]$ gdb /usr/bin/ldclt-bin
    GNU gdb (GDB) Red Hat Enterprise Linux (7.2-48.el6)
    Copyright (C) 2010 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-redhat-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /usr/bin/ldclt-bin...Reading symbols from /usr/lib/debug/usr/bin/ldclt-bin.debug...done.
    done.
    (gdb) set args -h storm.idm.lab.bos.redhat.com -p 4980 -D uid=buser,o=cbrLD.com -w binduser -e add,person,incr,noloop -r 0 -R 50000 -b o=farm1,o=cbrLD.com -f "cn=monsieur XXXXXXXXX" -I 68 -v -q -n 1
    (gdb) run
    Starting program: /usr/bin/ldclt-bin -h storm.idm.lab.bos.redhat.com -p 4980 -D uid=buser,o=cbrLD.com -w binduser -e add,person,incr,noloop -r 0 -R 50000 -b o=farm1,o=cbrLD.com -f "cn=monsieur XXXXXXXXX" -I 68 -v -q -n 1
    [Thread debugging using libthread_db enabled]
    ldclt version 4.23
    /usr/bin/ldclt-bin -h storm.idm.lab.bos.redhat.com -p 4980 -D uid=buser,o=cbrLD.com -w binduser -e add,person,incr,noloop -r 0 -R 50000 -b o=farm1,o=cbrLD.com -f "cn=monsieur XXXXXXXXX" -I 68 -v -q -n 1
    Process ID         = 27217
    Host to connect    = storm.idm.lab.bos.redhat.com
    Port number        = 4980
    Bind DN            = uid=buser,o=cbrLD.com
    Passwd             = binduser
    Referral           = on
    Base DN            = o=farm1,o=cbrLD.com
    Filter             = "cn=monsieur XXXXXXXXX"
    Max times inactive = 3
    Max allowed errors = 1000
    Number of samples  = -1
    Number of threads  = 1
    Total op. req.     = -1
    Running mode       = 0x0e040009
    Running mode       = quiet verbose incremental noloop add class=person
    LDAP oper. timeout = 30 sec
    Sampling interval  = 10 sec
    Values range       = [0 , 50000]
    Filter's head      = "cn=monsieur "
    Filter's tail      = ""
    Ignore error       = 68 (Already exists)
    ldclt[27217]: Starting at Wed Apr 27 15:16:10 2011
     
    [New Thread 0x7ffff7849700 (LWP 27220)]
    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.
    [Switching to Thread 0x7ffff7849700 (LWP 27220)]
    0x0000003aba632a45 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
    64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
    Missing separate debuginfos, use: debuginfo-install nss-softokn-freebl-3.12.9-3.el6.x86_64 nss-util-3.12.9-1.el6.x86_64 zlib-1.2.3-25.el6.x86_64
    (gdb) bt
    #0  0x0000003aba632a45 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
    #1  0x0000003aba634225 in abort () at abort.c:92
    #2  0x0000003aba62b9d5 in __assert_fail (assertion=0x3dffc454da "ld != ((void *)0)",
        file=<value optimized out>, line=124, function=<value optimized out>) at assert.c:81
    #3  0x0000003dffc1aaa5 in ldap_add_ext (ld=0x0, dn=0x7ffff7848a66 "o=farm1,o=cbrLD.com",
        attrs=0x7ffff7848640, sctrls=0x0, cctrls=0x0, msgidp=0x7ffff78485ec) at add.c:124
    #4  0x0000003dffc1ab22 in ldap_add_ext_s (ld=0x0, dn=<value optimized out>, attrs=<value optimized out>,
        sctrls=<value optimized out>, cctrls=<value optimized out>) at add.c:229
    #5  0x0000000000404355 in createMissingNodes (tttctx=0x61bba0,
        newDN=0x7ffff7848a50 "cn=monsieur 000000000,o=farm1,o=cbrLD.com", cnx=0x0)
        at ldap/servers/slapd/tools/ldclt/ldapfct.c:2153
    #6  0x00000000004080dd in doAddEntry (tttctx=0x61bba0) at ldap/servers/slapd/tools/ldclt/ldapfct.c:3006
    #7  0x0000000000410ed9 in threadMain (arg=0x61bba0) at ldap/servers/slapd/tools/ldclt/threadMain.c:1162
    #8  0x0000003abae077e1 in start_thread (arg=0x7ffff7849700) at pthread_create.c:301
    #9  0x0000003aba6e68ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
    (gdb)

Comment 1 Chandrasekar Kannan 2011-04-27 19:36:46 UTC
(gdb) thread apply all bt

Thread 2 (Thread 0x7ffff7849700 (LWP 27220)):
#0  0x0000003aba632a45 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x0000003aba634225 in abort () at abort.c:92
#2  0x0000003aba62b9d5 in __assert_fail (assertion=0x3dffc454da "ld != ((void *)0)", 
    file=<value optimized out>, line=124, function=<value optimized out>) at assert.c:81
#3  0x0000003dffc1aaa5 in ldap_add_ext (ld=0x0, dn=0x7ffff7848a66 "o=farm1,o=cbrLD.com", 
    attrs=0x7ffff7848640, sctrls=0x0, cctrls=0x0, msgidp=0x7ffff78485ec) at add.c:124
#4  0x0000003dffc1ab22 in ldap_add_ext_s (ld=0x0, dn=<value optimized out>, attrs=<value optimized out>, 
    sctrls=<value optimized out>, cctrls=<value optimized out>) at add.c:229
#5  0x0000000000404355 in createMissingNodes (tttctx=0x61bba0, 
    newDN=0x7ffff7848a50 "cn=monsieur 000000000,o=farm1,o=cbrLD.com", cnx=0x0)
    at ldap/servers/slapd/tools/ldclt/ldapfct.c:2153
#6  0x00000000004080dd in doAddEntry (tttctx=0x61bba0) at ldap/servers/slapd/tools/ldclt/ldapfct.c:3006
#7  0x0000000000410ed9 in threadMain (arg=0x61bba0) at ldap/servers/slapd/tools/ldclt/threadMain.c:1162
#8  0x0000003abae077e1 in start_thread (arg=0x7ffff7849700) at pthread_create.c:301
#9  0x0000003aba6e68ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7ffff784b700 (LWP 27217)):
#0  0x0000003aba6aba6d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x0000003aba6ab8e0 in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:138
#2  0x000000000040aeb5 in monitorThem () at ldap/servers/slapd/tools/ldclt/ldclt.c:782
#3  0x000000000040cbb5 in main (argc=<value optimized out>, argv=<value optimized out>)
    at ldap/servers/slapd/tools/ldclt/ldclt.c:3265
(gdb)

Comment 3 Noriko Hosoi 2011-04-27 19:54:04 UTC
This NULL LDAP handler looks to me the cause.

#4  0x0000003dffc1ab22 in ldap_add_ext_s (ld=0x0, dn=<value optimized out>,
                                          ^^^^^^
attrs=<value optimized out>, sctrls=<value optimized out>, cctrls=<value optimized out>) at add.c:229

Can we try ldclt with this one line fix?  If I build one on RHEL6, could it be possible to test it?
diff --git a/ldap/servers/slapd/tools/ldclt/ldapfct.c b/ldap/servers/slapd/tools
index efd64ed..dc8e190 100644
--- a/ldap/servers/slapd/tools/ldclt/ldapfct.c
+++ b/ldap/servers/slapd/tools/ldclt/ldapfct.c
@@ -2022,6 +2022,7 @@ createMissingNodes (
        PR_smprintf_free(ldapurl);
        return (-1);
     }
+    cnx = tttctx->ldapCtx;
     PR_smprintf_free(ldapurl);
     ldapurl = NULL;
 #else /* !USE_OPENLDAP */

Comment 4 RHEL Product and Program Management 2011-04-28 06:00:18 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 6 Noriko Hosoi 2011-04-28 16:36:52 UTC
Created attachment 495595 [details]
git patch file (master)

Description: A helper function createMissingNodes is supposed to 
set LDAP handle 'cnx' if NULL cnx is passed to the function, 
but it was missing.  This patch sets it.

Comment 7 Noriko Hosoi 2011-04-28 17:15:12 UTC
Reviewed by Rich (Thank you!!!)

master>
$ git merge 700215
Updating fb7aee0..ff7be17
Fast-forward
 ldap/servers/slapd/tools/ldclt/ldapfct.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

$ git push
Counting objects: 15, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 823 bytes, done.
Total 8 (delta 6), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
   fb7aee0..ff7be17  master -> master

389-ds-base-1.2.8>
Cherry-picked commit ff7be176694a715b736eac5855012b8819afd378
$ git cherry-pick ff7be176694a715b736eac5855012b8819afd378
[ds128-local 96c7f67] Bug 700215 - ldclt core dumps
 1 files changed, 1 insertions(+), 0 deletions(-)

$ git push origin ds128-local:389-ds-base-1.2.8
Counting objects: 15, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 832 bytes, done.
Total 8 (delta 6), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
   2be27d3..96c7f67  ds128-local -> 389-ds-base-1.2.8

RHEL-6>
Cherry-picked commit ff7be176694a715b736eac5855012b8819afd378
$ git cherry-pick ff7be176694a715b736eac5855012b8819afd378
[RHEL-6 2d943b5] Bug 700215 - ldclt core dumps
 1 files changed, 1 insertions(+), 0 deletions(-)

$ git push redhat RHEL-6
nhosoi@git.engineering.redhat.com's password: 
Counting objects: 15, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 876 bytes, done.
Total 8 (delta 6), reused 0 (delta 0)
To ssh://git.engineering.redhat.com/srv/git/users/rmeggins/ds.git
   5047940..2bb31c2  RHEL-6 -> RHEL-6

Comment 11 Amita Sharma 2011-05-05 07:17:55 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 12 errata-xmlrpc 2011-12-06 17:48:32 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/RHEA-2011-1711.html


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