[Date Prev][Date Next] [Chronological] [Thread] [Top]

slapd seg. fault when repeated getpwnam (ITS#1329)



Full_Name: Gerry Morong
Version: 2.0.11
OS: Red Hat 7.1
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.167.34.5)


Wanted to test the openldap server so I wrote a script that loops through
all the logins we have.  For each login a c program does a getpwnam call and
returns the password information.    When I run this script openldap will
die after about 1000 entries with a segmentation fault.  If I do an
ldapsearch for the same information, openldap stays alive and returns
everything.  We have about 1,500 logins.  Any ideas?

Clients are RH 7.1 with openldap-2.0.7-14 (Red Hat standard issue).
Server is RH7.1 with openldap-2.0.11.

Back Trace
(gdb) where
#0  0x402c990e in __select () from /lib/i686/libc.so.6
#1  0x00000001 in __strtol_internal (nptr=0x0, endptr=0x40bbaca4, base=0, 
    group=1075682130) at eval.c:36
#2  0x401d9bfd in pthread_start_thread (arg=0x40bbac00) at manager.c:262
(gdb)

Debug (-1)
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= idl_fetch 2577 ids (2577 max)
<= filter_candidates 2577
=> filter_candidates
        OR
=> list_candidates 0xa1
=> filter_candidates
        EQUALITY
=> equality_candidates
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/objectClass.dbb", 16, 600 )
<= ldbm_cache_open (cache 3)
=> key_read
<= index_read 0 candidates
<= equality_candidates NULL
<= equality_candidates 0
<= filter_candidates 0
=> filter_candidates
        AND
=> list_candidates 0xa0
=> filter_candidates
        EQUALITY
=> equality_candidates
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/objectClass.dbb", 16, 600 )
<= ldbm_cache_open (cache 3)
=> key_read
<= idl_fetch 2070 ids (2070 max)
<= index_read 2070 candidates
<= equality_candidates 2070
<= filter_candidates 2070
=> filter_candidates
        EQUALITY
=> equality_candidates
=> ldbm_cache_open( "/usr/local/var/openldap-ldbm/uid.dbb", 16, 600 )
<= ldbm_cache_open (cache 4)
=> key_read
<= index_read 1 candidates
<= equality_candidates 1
<= filter_candidates 1
<= list_candidates 2
<= filter_candidates 2
<= list_candidates 2
<= filter_candidates 2
Segmentation fault