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

slapd crashes during search query (ITS#1570)



Full_Name: Thomas Koch
Version: 2.0.21, 2.0.22-eng
OS: Linux 2.4.10
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (212.105.210.38)



Slapd crashes when processing a search query. The same query
succeeds on a different database, where entries have been
created in a different order. This problem has been
observed before (see earlier mails to bugs@openldap.org),
particularly in versions before and including 2.0.11.
It occurs on databases of varying size, but is less likely
on smaller ones. It does not seem to be related to the
actual query (it happens different queries at different times).

core backtrace and log snippet (generated with -d 1) follows.
Any help is appreciated.

Thanks,
Thomas

----------- core backtrace ---------------

(gdb)
#0  0x400f6a38 in chunk_free () from /lib/libc.so.6
#1  0x400f69a3 in free () from /lib/libc.so.6
#2  0x080b629d in ber_memfree (p=0x8a85cc0) at memory.c:156
#3  0x08065772 in ch_free (ptr=0x8a85cc0) at ch_malloc.c:103
#4  0x0808ea2e in idl_free (idl=0x8a85cc0) at idl.c:112
#5  0x0808cf10 in list_candidates (be=0x81f4290, flist=0x89b46c8, ftype=160) at
filterindex.c:478
#6  0x0808bd5a in filter_candidates (be=0x81f4290, f=0x89a88e8) at
filterindex.c:99
#7  0x0808ce40 in list_candidates (be=0x81f4290, flist=0xbf3ff970, ftype=161) at
filterindex.c:464
#8  0x0808bdca in filter_candidates (be=0x81f4290, f=0xbf3ff964) at
filterindex.c:104
#9  0x0808ce40 in list_candidates (be=0x81f4290, flist=0xbf3ff988, ftype=160) at
filterindex.c:464
#10 0x0808bd5a in filter_candidates (be=0x81f4290, f=0xbf3ff994) at
filterindex.c:99
#11 0x08083628 in search_candidates (be=0x81f4290, e=0x8207bf8,
filter=0x89a88e8, scope=2, deref=3, manageDSAit=1) at search.c:429
#12 0x08082c62 in ldbm_back_search (be=0x81f4290, conn=0x407aa7c4, op=0x8a48220,
base=0x89b70a8 "cn=ks_BP012,dc=wie.so",
    nbase=0x8a47b18 "CN=KS_BP012,DC=WIE.SO", scope=2, deref=3, slimit=0,
tlimit=0, filter=0x89a88e8,
    filterstr=0x8a79b18
"(&(objectClass=tgisObject)(&(tgisType=oabe.Node)(tgisParent=*?oabe.Node?S_R012?*)))",
attrs=0x8a2d140, attrsonly=0) at search.c:142
#13 0x08054547 in do_search (conn=0x407aa7c4, op=0x8a48220) at search.c:278
#14 0x08052af3 in connection_operation (arg_v=0x82926a8) at connection.c:831
#15 0x0809ae34 in ldap_int_thread_pool_wrapper (pool=0x81d5e00) at tpool.c:379
#16 0x40072f37 in pthread_start_thread () from /lib/libpthread.so.0


----------- log file ---------------

do_search
ber_scanf fmt ({aiiiib) ber:
ber_scanf fmt ({oo}) ber:
ber_scanf fmt ({oo}) ber:
ber_scanf fmt ({o) ber:
ber_scanf fmt (O) ber:
ber_scanf fmt ({v}}) ber:
=> get_ctrls
ber_scanf fmt ({a) ber:
=> get_ctrls: oid="2.16.840.1.113730.3.4.2" (noncritical)
<= get_ctrls: 1 0 
conn=5 op=7258 SRCH base="cn=ks_BP012,dc=wie.so" scope=2
filter="(&(objectClass=tgisObject)(&(tgisType=oabe.Node)(tgisParent=*?oabe.Node?S_R012?*)))"
=> ldbm_back_search
dn2entry_r: dn: "CN=KS_BP012,DC=WIE.SO"
=> dn2id( "CN=KS_BP012,DC=WIE.SO" )
====> cache_find_entry_dn2id("CN=KS_BP012,DC=WIE.SO"): 2 (1 tries)
<= dn2id 2 (in cache)
=> id2entry_r( 2 )
====> cache_find_entry_id( 2 ) "cn=ks_BP012,dc=wie.so" (found) (1 tries)
<= id2entry_r( 2 ) 0x8207bf8 (cache)
search_candidates: base="CN=KS_BP012,DC=WIE.SO" s=2 d=3
=> filter_candidates
=> list_candidates 0xa0
=> filter_candidates
=> dn2idl( "@CN=KS_BP012,DC=WIE.SO" )
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= idl_fetch 2797 ids (2797 max)
<= filter_candidates 2797
=> filter_candidates
=> list_candidates 0xa1
=> filter_candidates
=> equality_candidates
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
<= ldbm_cache_open (cache 3)
=> key_read
<= index_read 0 candidates
<= equality_candidates NULL
<= equality_candidates 0
<= filter_candidates 0
=> filter_candidates
=> list_candidates 0xa0
=> filter_candidates
=> equality_candidates
=> ldbm_cache_open( "objectClass.dbb", 73, 600 )
<= ldbm_cache_open (cache 3)
=> key_read
<= idl_fetch 3565 ids (3565 max)
<= index_read 3565 candidates
<= equality_candidates 3565
<= filter_candidates 3565
=> filter_candidates
=> list_candidates 0xa0
=> filter_candidates
=> equality_candidates
=> ldbm_cache_open( "tgisType.dbb", 73, 600 )
<= ldbm_cache_open (cache 4)
=> key_read
<= index_read 278 candidates
<= equality_candidates 278
<= filter_candidates 278
=> filter_candidates
=> substrings_candidates
=> ldbm_cache_open( "tgisParent.dbb", 73, 600 )
<= ldbm_cache_open (cache 8)
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 3542 ids (3542 max)
<= index_read 3542 candidates
=> key_read
<= idl_fetch 2677 ids (2677 max)
<= index_read 2677 candidates
=> key_read
<= idl_fetch 2677 ids (2677 max)
<= index_read 2677 candidates
=> key_read
<= idl_fetch 2677 ids (2677 max)
<= index_read 2677 candidates
=> key_read
<= idl_fetch 2677 ids (2677 max)
<= index_read 2677 candidates
=> key_read
<= idl_fetch 2677 ids (2677 max)
<= index_read 2677 candidates
=> key_read
<= idl_fetch 3522 ids (3522 max)
<= index_read 3522 candidates
=> key_read
<= idl_fetch 3342 ids (3342 max)
<= index_read 3342 candidates
=> key_read
<= index_read 1141 candidates
=> key_read
<= index_read 1701 candidates
=> key_read
<= index_read 507 candidates
<= substrings_candidates 425
<= filter_candidates 425
<= list_candidates 53
<= filter_candidates 53
************************** crash **********************