Full_Name: Chris Card
Version: HEAD as of 28 Jun 2011
OS: centos 5.4
URL:
ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (91.194.158.133)
I am running slapd with pcache and sssvlv overlays and back-sql backend.
With an empty cache, when I do a request like this:
ldapsearch -h localhost -x -b "............" -D "............" -w
........
'(o=.....)' -E \!sss=mail:CaseIgnoreIA5Match
slapd crashes in pcache_op_cleanup(), line 2369:
/* check for malformed entries: attrs with no values */
{
Attribute *a = rs->sr_entry->e_attrs; /* <-- HERE */
because rs->sr_entry is NULL.
This appears to be because of the call to rs_flush_entry() in result.c line
1408
which sets rs->sr_entry to NULL prior to the call to pcache_op_cleanup().
The relevant part of my slapd.conf looks like this:
database sql
suffix "......"
rootdn "......"
rootpw ......
dbname MySQL
dbuser ......
subtree_cond "ldap_entries.dn like CONCAT('%',?)"
insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES
(?,?,?,?)"
has_ldapinfo_dn_ru no
baseobject
upper_func UPPER
autocommit yes
overlay pcache
pcache bdb 10000 1 50 100
pcacheAttrset 0 * +
pcacheTemplate (objectClass=) 0 60
pcacheTemplate (o=) 0 60
...
pcache-directory /var/tmp/cache
pcache-cachesize 100
pcache-index objectClass eq,pres
overlay sssvlv
sssvlv-max 10
sssvlv-maxpercon 5