[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
ldapsearch hangs with proxyCache
OpenLDAP 2.3.19 + syncprov.c from HEAD, BDB db42-4.2.52_3, FreeBSD 4.10.
LDAPSEARCH returns a result then hangs.
slapd.conf:
#
# This constructs a view of *all* directories.
#
database meta
access to * by * read
suffix "dc=AdminView"
rootdn "dc=AdminView"
lastmod off
overlay pcache
proxycache bdb 1000 1 100 60
#proxyattrset 0 ciapp cihost cistatus ciportnum
#proxyattrset 0 *
proxyattrset 0 ciApp ciAppType ciHost ciStatus ciPortNum ciDBPath description ciAppVar ciDomainMember
proxytemplate (&(objectClass=)(ciApp=)) 0 3600
directory /var/tmp/AdminViewCache
cachesize 1000
index objectClass eq
index ciApp,ciAppType,ciHost,ciStatus,ciPortNum,ciDBPath,description,c iAppVar,ciDomainMember pres,eq,sub
uri "ldapi://%2fvar%2frun%2fopenldap%2fldapi/dc=AdminView"
rewriteEngine on
rewriteContext default
rewriteRule "(.*)dc=AdminView$" "%1dc=au,dc=cordoors,dc=dev" ":"
rebind-as-user true
acl-authcDN "cn=Manager,dc=au,dc=cordoors,dc=dev"
acl-passwd "XXX"
etc...
Query:
ldapsearch -h localhost -b dc=AdminView "(&(objectclass=ciapplication)(ciapp=orck))" ciAppType
Output:
# extended LDIF
#
# LDAPv3
# base <dc=AdminView> with scope subtree
# filter: (&(objectclass=ciapplication)(ciapp=orck))
# requesting: ciAppType
#
# orck, au.cordoors.dev
dn: ciApp=orck,dc=au,dc=cordoors,dc=dev
ciAppType: MER
(Force a core-dump; log merely shows all meta-dbs being searched)
GDB of LDAPSEARCH:
(gdb) bt
#0 0x2821a4c4 in poll () from /usr/lib/libc.so.4
#1 0x805e580 in ldap_int_select (ld=0x807e000, timeout=0x0) at os-ip.c:922
#2 0x805206f in wait4msg (ld=0x807e000, msgid=-1, all=0, timeout=0x0,
result=0xbfbff188) at result.c:301
#3 0x8051cbb in ldap_result (ld=0x807e000, msgid=-1, all=0, timeout=0x0,
result=0xbfbff188) at result.c:124
#4 0x804cbbd in dosearch (ld=0x807e000, base=0x807c040 "dc=AdminView",
scope=2, filtpatt=0x0,
value=0xbfbff844 "(&(objectclass=ciapplication)(ciapp=orck))",
attrs=0xbfbff72c, attrsonly=0, sctrls=0x0, cctrls=0x0, timeout=0x0,
sizelimit=-1) at ldapsearch.c:1006
#5 0x804c3de in main (argc=7, argv=0xbfbff714) at ldapsearch.c:868
Edit out proxycache, and find I can't stop SLAPD. Enable set-uid cores,
and do it in.
GDB (of SLAPD):
(gdb) bt
#0 0x813d1d0 in __db_tas_mutex_lock_4002 ()
#1 0x81253b5 in __lock_get_4002 ()
#2 0x817805c in __db_lget_4002 ()
#3 0x8140b3d in __bam_search_4002 ()
#4 0x8186abf in __bam_c_search ()
#5 0x818562d in __bam_c_put ()
#6 0x8170042 in __db_c_put_4002 ()
#7 0x81766b7 in __db_c_put_pp_4002 ()
#8 0x80c85c0 in bdb_idl_insert_key (be=0x82b0800, db=0x8341c00,
tid=0xb8a7080, key=0xb46d024, id=2) at idl.c:862
#9 0x80c3e72 in bdb_dn2id_add (op=0xb46d474, txn=0xb8a7080, eip=0x82b1f38,
e=0xb798c80) at dn2id.c:114
#10 0x80be83c in bdb_add (op=0xb46d474, rs=0xb46d250) at add.c:287
#11 0x809d928 in syncrepl_add_glue (op=0xb46d474, e=0xc000380)
at syncrepl.c:2231
#12 0x80db41b in merge_entry (op=0xb46d474, e=0xc000380, query_uuid=0xb46d5a4)
at pcache.c:194
#13 0x80dcc11 in cache_entries (op=0x8350a00, rs=0xb46ddb0,
query_uuid=0xb46d5a4) at pcache.c:1011
#14 0x80dce4a in pcache_response (op=0x8350a00, rs=0xb46ddb0) at pcache.c:1072
#15 0x80681be in send_ldap_response (op=0x8350a00, rs=0xb46ddb0)
at result.c:312
#16 0x8068ac7 in slap_send_ldap_result (op=0x8350a00, rs=0xb46ddb0)
at result.c:583
#17 0x80b5d3a in meta_back_search (op=0x8350a00, rs=0xb46ddb0) at search.c:866
#18 0x80a1e9a in overlay_op_walk (op=0x8350a00, rs=0xb46ddb0, which=op_search,
oi=0x82b1d00, on=0x82b1e00) at backover.c:499
#19 0x80a1fd6 in over_op_func (op=0x8350a00, rs=0xb46ddb0, which=op_search)
at backover.c:551
#20 0x80a2042 in over_op_search (op=0x8350a00, rs=0xb46ddb0) at backover.c:573
#21 0x805ea73 in fe_op_search (op=0x8350a00, rs=0xb46ddb0) at search.c:355
#22 0x805e731 in do_search (op=0x8350a00, rs=0xb46ddb0) at search.c:217
#23 0x805c910 in connection_operation (ctx=0xb46de3c, arg_v=0x8350a00)
at connection.c:1307
#24 0x80f77cd in ldap_int_thread_pool_wrapper (xpool=0x825f240) at tpool.c:480
#25 0x28391240 in _thread_start () from /usr/lib/libc_r.so.4
#26 0x0 in ?? ()
Result of search with proxycache commented out:
# extended LDIF
#
# LDAPv3
# base <dc=AdminView> with scope subtree
# filter: (&(objectclass=ciapplication)(ciapp=orck))
# requesting: ciAppType
#
# orck, au.cordoors.dev
dn: ciApp=orck,dc=au,dc=cordoors,dc=dev
ciAppType: MER
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
I'm willing to accept that I'm a total idiot, and that the proxycache is
woefully misconfigured...
--
Dave Horsfall DTM VK2KFU daveh@ci.com.au Ph: +61 2 9552-5509 (d) -5500 (sw)
Corinthian Engrng P/L, Ste 54 Jones Bay Whf, 26-32 Pirrama Rd, Pyrmont 2009, AU