Full_Name: Matt Hardin
Version: 2.4.21
OS: Linux
URL:
ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (170.215.92.245)
A naming context that uses back-ldap, slapo-rwm, and slapo-pcache dumps core
when asked to perform an operation.
Configuration snippets:
database ldap
suffix "dc=ad,dc=example,dc=com"
subordinate
rootdn "dc=ad,dc=example,dc=com"
uri "ldaps://ldap01.example.com ldaps://ldap02.example.com"
norefs yes
chase-referrals no
conn-ttl 300
network-timeout 10
use-temporary-conn yes
# Identity assertion: connections authenticated as either of the two identities
# below will connect to AD as the proxy user. Connections authenticated as
# anything else (i.e., AD users) use those credentials for authentication.
idassert-bind bindmethod=simple
binddn="cn=cnsproxy,dc=example,dc=com"
credentials=xxxxxx
mode=legacy
flags=override
idassert-authzFrom "dn.regex:cn=proxy,dc=example,dc=com"
# It is necessary to map a number of objectclass and attribute names to
# various other names that are supported in RFC2307. We also take this
# opportunity to 'lose' certain other attributes that have no place in
# UNIX.
overlay rwm
rwm-normalize-mapped-attrs yes
rwm-suffixmassage "dc=ad,dc=example,dc=com" "dc=example,dc=com"
rwm-map objectClass posixAccount user
rwm-map attribute uid samAccountName
rwm-map attribute "" gecos
[lots of rwm-map statements removed]
# Caching setup
overlay pcache
proxycache hdb 100000 2 10000 50000
proxycachequeries 20000
proxyattrset 0 uid userPassword uidNumber gidNumber cn homeDirectory loginShell
gecos description objectClass memberUid member
proxyattrset 1 *
#
proxytemplate (&(objectClass=)(uid=)) 0 3600 300
proxytemplate (&(objectClass=)(uid=)) 1 3600 300
proxytemplate (&(objectClass=)(uidNumber=)) 0 3600 300
proxytemplate (&(objectClass=)(member=)) 0 3600 300
proxytemplate (&(objectClass=)(|(memberUid=)(member=))) 0 3600 300
proxytemplate (uid=) 0 3600 300
proxytemplate (&(objectClass=)(cn=)) 0 3600 300
proxytemplate (&(objectClass=)(gidNumber=)) 0 3600 300
proxytemplate (objectClass=*) 0 3600 300
#
directory /var/symas/openldap-data/example-pcache
cachesize 10000
idlcachesize 10000
checkpoint 512 600
sizelimit unlimited
index objectClass eq
index cn,sn,uid eq
index uidNumber eq
index gidNumber eq
index memberUid eq
index member eq
index queryid eq
dbconfig set_cachesize 0 536870912 0
dbconfig set_flags DB_LOG_AUTOREMOVE
dbconfig set_lg_max 10485760
dbconfig set_lg_bsize 2097152
Backtrace is as follows:
(gdb) thr apply all bt
Thread 5 (process 19756):
#0 0x0083d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00abc297 in pthread_join () from /lib/tls/libpthread.so.0
#2 0x00608524 in ldap_pvt_thread_join (thread=4294967292,
thread_return=0xfffffffc)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/thr_posix.c:197
#3 0x0806f48a in slapd_daemon () at
/home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/daemon.c:2840
#4 0x0805896d in main (argc=7, argv=0xbfe4d694)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/main.c:961
Thread 4 (process 19757):
#0 0x0083d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x0070a1ce in epoll_wait () from /lib/tls/libc.so.6
#2 0x0806e505 in slapd_daemon_task (ptr=0x0)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/daemon.c:2465
#3 0x00abb3cc in start_thread () from /lib/tls/libpthread.so.0
#4 0x00709b4e in clone () from /lib/tls/libc.so.6
Thread 3 (process 19759):
#0 0x0083d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00abdcf6 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x00608664 in ldap_pvt_thread_cond_wait (cond=0xfffffffc, mutex=0xfffffffc)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/thr_posix.c:277
#3 0x00607822 in ldap_int_thread_pool_wrapper (xpool=0x82c56f0)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/tpool.c:672
#4 0x00abb3cc in start_thread () from /lib/tls/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#5 0x00709b4e in clone () from /lib/tls/libc.so.6
Thread 2 (process 19760):
#0 0x0083d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00abdcf6 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x00608664 in ldap_pvt_thread_cond_wait (cond=0xfffffffc, mutex=0xfffffffc)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/thr_posix.c:277
#3 0x00607822 in ldap_int_thread_pool_wrapper (xpool=0x82c56f0)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/tpool.c:672
#4 0x00abb3cc in start_thread () from /lib/tls/libpthread.so.0
#5 0x00709b4e in clone () from /lib/tls/libc.so.6
Thread 1 (process 19758):
#0 0x0083d7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00665825 in raise () from /lib/tls/libc.so.6
#2 0x00667289 in abort () from /lib/tls/libc.so.6
#3 0x0065eda1 in __assert_fail () from /lib/tls/libc.so.6
#4 0x0807bc34 in entry_clean (e=0x835ccdc)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/entry.c:483
#5 0x0807bc52 in entry_free (e=0x835ccdc)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/entry.c:514
#6 0x080da90e in overlay_entry_release_ov (op=0x838b5a0, e=0x835ccdc, rw=0,
on=0x82fcb50)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:439
#7 0x0093aa55 in rwm_send_entry (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/overlays/rwm.c:1508
#8 0x0093b129 in rwm_response (op=0x838b5a0, rs=0x6)
---Type <return> to continue, or q <return> to quit---
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/overlays/rwm.c:1700
#9 0x080da44a in over_back_response (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:237
#10 0x08081be0 in slap_response_play (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/result.c:358
#11 0x0808439b in slap_send_search_entry (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/result.c:843
#12 0x00bd8005 in hdb_search (op=0x838b5a0, rs=0x3a1a100) at search.c:961
#13 0x00a7d495 in pcache_op_search (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/overlays/pcache.c:3029
#14 0x080dad59 in overlay_op_walk (op=0x838b5a0, rs=0x3a1a100, which=op_search,
oi=0x82fca50,
on=0x8303408) at
/home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:659
#15 0x080daebc in over_op_func (op=0x838b5a0, rs=0x3a1a100, which=op_search)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:721
#16 0x080d8f18 in glue_op_search (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backglue.c:457
#17 0x080dad59 in overlay_op_walk (op=0x838b5a0, rs=0x3a1a100, which=op_search,
oi=0x8302778,
on=0x8302878) at
/home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:659
#18 0x080daebc in over_op_func (op=0x838b5a0, rs=0x3a1a100, which=op_search)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/backover.c:721
#19 0x08074b36 in fe_op_search (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/search.c:366
#20 0x08074041 in do_search (op=0x838b5a0, rs=0x3a1a100)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/search.c:217
#21 0x08072205 in connection_operation (ctx=0x3a1a210, arg_v=0x838b5a0)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/connection.c:1109
---Type <return> to continue, or q <return> to quit---
#22 0x08072b54 in connection_read_thread (ctx=0x3a1a210, argv=0x18)
at /home/build/sol-2.4.21.0/sol24x/ldap24/servers/slapd/connection.c:1245
#23 0x006077c6 in ldap_int_thread_pool_wrapper (xpool=0x82c56f0)
at /home/build/sol-2.4.21.0/sol24x/ldap24/libraries/libldap_r/tpool.c:685
#24 0x00abb3cc in start_thread () from /lib/tls/libpthread.so.0
#25 0x00709b4e in clone () from /lib/tls/libc.so.6
(gdb) q
Commentary from debugging session:
the entry in question is owned by pcache's cache DB
and the overlay_entry_release() function
didn't fall into the right release hook
because the pcache overlay didn't provide one
so this has to be fixed by adding a release hook to pcache
not a big deal.
so the fault isn't in rwm this time, it's calling the right API