On 09/19/2011 09:48 AM, turbo@bayour.com wrote:
I'm trying to use pcache on my server, but it crashes every time it gets a 'QUERY CACHABLE'...
See my config in my other thread...
What other thread? Please, always provide a link to the archives, to help others help you.
This is a localy compiled OpenLDAP v2.4.26 with localy compiled Berkeley DB v5.1.25 on a CentOS v5.6 (Final).
----- s n i p ----- [...] => access_allowed: read access granted by read(=rscxd) conn=1000 op=1 ENTRY dn="uid=kpxb140,ou=people,dc=seml,dc=company,dc=tld" ber_flush2: 80 bytes to sd 17 0000: 30 4e 02 01 02 64 49 04 33 75 69 64 3d 6b 70 78 0N...dI.3uid=kpx 0010: 62 31 34 30 2c 6f 75 3d 50 65 6f 70 6c 65 2c 64 b140,ou=People,d 0020: 63 3d 73 65 6d 6c 2c 64 63 3d 00 00 00 00 00 00 c=seml,dc=xxxxxx 0030: 65 6e 65 63 61 2c 64 63 3d 6e 65 74 30 12 30 10 xxxxx,dc=net0.0. 0040: 00 00 00 00 00 31 09 04 07 6b 70 78 62 31 34 30 ..uid1...kpxb140 ldap_write: want=80, written=80 0000: 30 4e 02 01 02 64 49 04 33 75 69 64 3d 6b 70 78 0N...dI.3uid=kpx 0010: 62 31 34 30 2c 6f 75 3d 50 65 6f 70 6c 65 2c 64 b140,ou=People,d 0020: 63 3d 73 65 6d 6c 2c 64 63 3d 00 00 00 00 00 00 c=seml,dc=xxxxxx 0030: 00 00 00 00 00 2c 64 63 3d 6e 65 74 30 12 30 10 xxxxx,dc=net0.0. 0040: 04 03 75 69 64 31 09 04 07 6b 70 78 62 31 34 30 ..uid1...kpxb140 <= send_search_entry: conn 1000 exit.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x41001940 (LWP 16414)] 0x00002aaaad0919c9 in pcache_op_cleanup (op=0x89ad40, rs=0x41000c10) at pcache.c:2369 2369 Attribute *a = rs->sr_entry->e_attrs; (gdb) bt #0 0x00002aaaad0919c9 in pcache_op_cleanup (op=0x89ad40, rs=0x41000c10) at pcache.c:2369 #1 0x000000000043f797 in ?? () #2 0x0000000000441a7a in slap_send_search_entry () #3 0x00002aaaaca0d9fe in ldap_back_search (op=0x89ad40, rs=0x41000c10) at search.c:361 #4 0x0000000000494722 in overlay_op_walk () #5 0x0000000000494c87 in ?? () #6 0x0000000000432f09 in fe_op_search () #7 0x0000000000433715 in do_search () #8 0x0000000000430c65 in ?? () #9 0x000000000043123f in ?? () #10 0x00002aaaaaac1f38 in ldap_int_thread_pool_wrapper (xpool=0x79d1d0) at tpool.c:685 #11 0x000000397c80673d in start_thread () from /lib64/libpthread.so.0 #12 0x000000397bcd40cd in clone () from /lib64/libc.so.6 ----- s n i p -----
----- s n i p ----- [kpxb140@semldx00135 LDAPv3]$ alias ldapsearch.local alias ldapsearch.local='/usr/local/turbo/bin/ldapsearch -LLL -x -h localhost -b dc=company,dc=tld' [kpxb140@semldx00135 LDAPv3]$ ldapsearch.local 'uid=kpxb140' uid dn: uid=kpxb140,ou=People,dc=org1,dc=company,dc=tld uid: kpxb140 ldap_result: Can't contact LDAP server (-1) ----- s n i p -----
So it gets the value from the AD, transmogrifying it using rwm and sends the reply to the client. But when getting to the pcache overlay, it crashes...
The root cause is likely rwm. This won't fix at least until 2.5, for reasons explained in ITSes involving slapo-rwm. Please decouple the two overlays, at the cost of adding an intermediate proxy.
p.