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

slapd coredumps (SunoOS5.6) (ITS#107)



Full_Name: Frank Henderson
Version: 1.1.1
OS: SunOS 5.6
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (131.204.85.131)


slapd ran great while testing (no crashes). once in production it dies
randomly but fairly often.  I have several backtraces and I am collecting
debug output now.  Our database has approx 30,000 entries.

slapd.conf lines:
database        ldbm
index           cn eq,sub,pres,approx
index           sn eq,sub,approx
suffix          "o=Auburn University, c=US"
dbcachesize     10000000
cachesize       50000

---------------------------------
Core was generated by `/usr/local/libexec/slapd'.
Program terminated with signal 9, Killed.
Reading symbols from /usr/lib/libthread.so.1...done.
Reading symbols from /usr/lib/libresolv.so.2...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libpthread.so.1...done.
Reading symbols from /usr/lib/libposix4.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from /usr/lib/libaio.so.1...done.
Reading symbols from /usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1...done.
#0  0xef5a4674 in strlen ()
(gdb) bt
#0  0xef5a4674 in strlen ()
#1  0xef5ce230 in _strdup ()
#2  0x25f84 in ch_strdup (string=0x0) at ch_malloc.c:72
#3  0x31ee8 in dn2id (be=0x94a00, dn=0x0) at dn2id.c:76
#4  0x3245c in dn2entry (be=0x94a00, dn=0x0, matched=0xeda0bb8c, rw=0)
    at dn2id.c:177
#5  0x3250c in dn2entry_r (be=0x94a00, dn=0x0, matched=0xeda0bb8c)
    at dn2id.c:210
#6  0x38c74 in derefDN (be=0x94a00, conn=0x997b8, op=0x762ac40, 
    dn=0x829b340 "c=US,o=Auburn University,ou=students,o=Auburn
University,c=US") at alias.c:212
#7  0x37964 in ldbm_back_search (be=0x94a00, conn=0x997b8, op=0x762ac40, 
    base=0x829b340 "c=US,o=Auburn University,ou=students,o=Auburn
University,c=US", scope=0, deref=2, slimit=10000, tlimit=420, filter=0x831c570,

    filterstr=0x75a4ef0 "(objectclass=*)", attrs=0x0, attrsonly=0)
    at search.c:82
#8  0x1e450 in do_search (conn=0x997b8, op=0x762ac40) at search.c:169
#9  0x1d84c in connection_operation (arg_v=0x831e418) at connection.c:74


debug output: (not sure how much is needed, more is available 14meg)
------------------------------------------
send_ldap_result 0::
do_unbind
do_bind
do_bind: version 2 dn () method 128
send_ldap_result 0::
do_search
send_ldap_result 9::Referral:
ldap://ldap.itd.umich.edu
do_search
<= dereferencing dn c=US,o=Auburn University,ou=students,o=Auburn
University,c=US
dn2entry_r: dn: c=US,o=Auburn University,ou=students,o=Auburn University,c=US
=> dn2id( "c=US,o=Auburn University,ou=students,o=Auburn University,c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: o=Auburn University,ou=students,o=Auburn University,c=US
=> dn2id( "o=Auburn University,ou=students,o=Auburn University,c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: ou=students,o=Auburn University,c=US
=> dn2id( "ou=students,o=Auburn University,c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 3
=> id2entry_r( 3 )
====> cache_find_entry_dn2id: found id: 3 rw: 0
<= id2entry_r 0x3da49e0 (cache)
====> cache_return_entry_r
dn2entry_r: dn: ou=students,o=Auburn University,c=US
=> dn2id( "ou=students,o=Auburn University,c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 3
=> id2entry_r( 3 )
====> cache_find_entry_dn2id: found id: 3 rw: 0
<= id2entry_r 0x3da49e0 (cache)
<= matched ou=students,o=Auburn University,c=US
<= remainder c=US,o=Auburn University,
<= checking for alias for dn ou=Students, o=Auburn University, c=US
<= l&g we have ou=students,o=Auburn University,c=US vs ou=Students, o=Auburn
University, c=US 
====> cache_return_entry_r
<= expanded to c=US,o=Auburn University,ou=Students, o=Auburn University, c=US
====> cache_return_entry_r
dn2entry_r: dn: c=US,o=Auburn University,ou=Students, o=Auburn University, c=US
=> dn2id( "c=US,o=Auburn University,ou=Students, o=Auburn University, c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: o=Auburn University,ou=Students, o=Auburn University, c=US
=> dn2id( "o=Auburn University,ou=Students, o=Auburn University, c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id NOID
dn2entry_r: dn: ou=Students, o=Auburn University, c=US
=> dn2id( "ou=Students, o=Auburn University, c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 3
=> id2entry_r( 3 )
====> cache_find_entry_dn2id: found id: 3 rw: 0
<= id2entry_r 0x3da49e0 (cache)
====> cache_return_entry_r
dn2entry_r: dn: ou=Students, o=Auburn University, c=US
=> dn2id( "ou=Students, o=Auburn University, c=US" )
=> ldbm_cache_open( "/usr/local/x500_data/dn2id.dbb", 7, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id 3
=> id2entry_r( 3 )
====> cache_find_entry_dn2id: found id: 3 rw: 0
<= id2entry_r 0x3da49e0 (cache)
<= matched ou=Students, o=Auburn University, c=US
<= remainder c=US,o=Auburn University,
<= checking for alias for dn ou=Students, o=Auburn University, c=US
<= l&g we have ou=Students, o=Auburn University, c=US vs ou=Students, o=Auburn
University, c=US 
====> cache_return_entry_r
====> cache_return_entry_r
dn2entry_r: dn: Segmentation Fault (core dumped)