[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#3924) slapd dies when using SLAPI plugins
Full_Name: Samuel Tran
Version: 2.3.4 and HEAD as of 08/08/2005
OS: Debian Linux Sarge
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (66.114.85.133)
I compiled OpenLDAP with '--enable-modules' and '--enable-slapi'.
Then in slapd.conf I configured my p-synch (MTech) plugins for password change
synchronization:
plugin preoperation "/usr/local/psunix/passwdop/passwdop.openldap.linux.x86"
prepasswd_init "-cfgfile /etc/psynch.conf" "-debuglevel debug" "-logfile
/var/log/psynch_ldap.log"
plugin postoperation "/usr/local/psunix/passwdop/passwdop.openldap.linux.x86"
postpasswd_init "-cfgfile /etc/psynch.conf" "-debuglevel debug" "-logfile
/var/log/psynch_ldap.log"
The first plugin performs a password strength check via the p-synch server while
the second plugin synch performs the password propagation to the other
directories via the p-synch server.
When I change the userPassword attribute for a given user slapd just crashes.
Here is the stack back trace using gdb:
stran@educ236:/usr/local/src/openldap_2.3.x_20050808/servers/slapd/.libs
$ sudo gdb ./slapd
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-linux"...Using host libthread_db
library "/lib/tls/libthread_db.so.1".
(gdb) set width 70
(gdb) run -d 0 -f /etc/openldap/slapd.conf
Starting
program: /usr/local/src/openldap_2.3.x_20050808/servers/slapd/.libs/slapd -d 0
-f /etc/openldap/slapd.conf
[Thread debugging using libthread_db enabled]
[New Thread 1078075520 (LWP 3347)]
/etc/openldap/slapd.conf: line 178: warning: cannot assess the validity
of the ACL scope within backend naming context
/etc/openldap/slapd.conf: line 207: warning: cannot assess the validity
of the ACL scope within backend naming context
/etc/openldap/slapd.conf: line 244: warning: cannot assess the validity
of the ACL scope within backend naming context
[New Thread 1088740272 (LWP 3350)]
[New Thread 1097128880 (LWP 3351)]
slapd: ch_malloc.c:122: ch_strdup: Assertion `0' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 1097128880 (LWP 3351)]
0x402fd83b in raise () from /lib/tls/libc.so.6
(gdb) bt full
#0 0x402fd83b in raise () from /lib/tls/libc.so.6
No symbol table info available.
#1 0x402fefa2 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#2 0x402f72df in __assert_fail () from /lib/tls/libc.so.6
No symbol table info available.
#3 0x080852af in ch_strdup (string=0x0) at ch_malloc.c:122
new = 0x0
#4 0x081225bf in slapi_int_modifications2ldapmods (
pmodlist=0x82565cc) at slapi_utils.c:2723
ml = (Modifications *) 0x82552e0
modlist = (Modifications *) 0x8255278
mods = (LDAPMod **) 0x8255440
i = 1
j = 1
#5 0x08119d6e in pblock_get (pb=0x825b3e8, param=90,
value=0x4164b344) at slapi_pblock.c:610
attrs = (char **) 0x81f8a40
rc = 0
#6 0x40503551 in FilterMod ()
from /usr/local/psunix/passwdop/passwdop.openldap.linux.x86
No symbol table info available.
#7 0x4050394c in PasswordStrengthCheck ()
from /usr/local/psunix/passwdop/passwdop.openldap.linux.x86
No symbol table info available.
#8 0x08119008 in slapi_int_call_plugins (be=0x0, funcType=-96,
pPB=0x825b3e8) at plugin.c:605
rc = 0
pGetPlugin = (SLAPI_FUNC *) 0x8255430
tmpPlugin = (SLAPI_FUNC *) 0x8255430
#9 0x08127c54 in slapi_op_func (op=0x82565a8, rs=0x4164d8b0)
at slapi_overlay.c:603
pb = (Slapi_PBlock *) 0x825b3e8
which = op_modify
opinfo = (struct slapi_op_info *) 0x8183dd0
rc = 80
oi = (slap_overinfo *) 0x6
on = (slap_overinst *) 0x0
cb = {sc_next = 0x4164c440,
sc_response = 0x8127a20 <slapi_over_response>,
sc_cleanup = 0x8127ac0 <slapi_over_cleanup>,
sc_private = 0x825b3e8}
internal_op = 0
preop_type = 6
postop_type = 505
be = (BackendDB *) 0x4164c450
#10 0x080bb9f5 in overlay_op_walk (op=0x82565a8, rs=0x4164d8b0,
which=op_modify, oi=0x0, on=0x81f83b8) at backover.c:480
func = (BI_op_bind **) 0x6
rc = 32768
#11 0x080bbacd in over_op_func (op=0x82565a8, rs=0x0, which=op_bind)
at backover.c:540
oi = (slap_overinfo *) 0x6
on = (slap_overinst *) 0x81f83b8
be = (BackendDB *) 0x81ce130
db = {bd_info = 0x81f83b8,
be_ctrls = "\000\001\000\000\000\001\000\000\001\000\000\001\001\000
\001", '\0' <repeats 17 times>, "\001", be_flags = 256,
be_restrictops = 0, be_requires = 0, be_ssf_set = {sss_ssf = 0,
sss_transport = 0, sss_tls = 0, sss_sasl = 0,
sss_update_ssf = 0, sss_update_transport = 0,
sss_update_tls = 0, sss_update_sasl = 0, sss_simple_bind = 0},
be_suffix = 0x81f56e8, be_nsuffix = 0x81f5960, be_schemadn = {
bv_len = 0, bv_val = 0x0}, be_schemandn = {bv_len = 0,
bv_val = 0x0}, be_rootdn = {bv_len = 25,
bv_val = 0x81ce598 "cn=Manager,dc=example,dc=com"}, be_rootndn = {
bv_len = 25, bv_val = 0x81ce5d0 "cn=manager,dc=example,dc=com"},
be_rootpw = {bv_len = 38,
bv_val = 0x81f42c0 "{SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},
be_max_deref_depth = 15, be_def_limit = {lms_t_soft = 3600,
lms_t_hard = 0, lms_s_soft = 5000, lms_s_hard = 0,
lms_s_unchecked = -1, lms_s_pr = 0, lms_s_pr_hide = 0,
lms_s_pr_total = 0}, be_limits = 0x0, be_acl = 0x81ceb78,
be_dfltaccess = ACL_READ, be_replica = 0x0, be_replogfile = 0x0,
be_update_ndn = {bv_len = 0, bv_val = 0x0}, be_update_refs = 0x0,
be_pending_csn_list = 0x82487a8, be_pcl_mutex = {__m_reserved = 0,
__m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {
__status = 0, __spinlock = 0}}, be_pcl_mutexp = 0x81ce200,
be_syncinfo = 0x0, be_pb = 0x81f84b8, be_cf_ocs = 0x8183540,
be_private = 0x81ce238, be_next = {stqe_next = 0x0}}
cb = {sc_next = 0x4164c5d0,
sc_response = 0x80bb380 <over_back_response>, sc_cleanup = 0,
sc_private = 0x81f82c0}
rc = 0
#12 0x080bbc01 in over_op_modify (op=0x0, rs=0x0) at backover.c:574
No locals.
#13 0x08081a59 in fe_op_modify (op=0x82565a8, rs=0x4164d8b0)
at modify.c:419
cb = {sc_next = 0x0,
sc_response = 0x8079ac0 <slap_replog_cb>, sc_cleanup = 0,
sc_private = 0x0}
repl_user = 0
tmp = (Modifications *) 0x100
manageDSAit = 256
modlist = (Modifications *) 0x8255278
modtail = (Modifications **) 0x8255290
increment = 0
textbuf = '\0' <repeats 132 times>, "x/\033\b\f\000\000\000÷Q%
\b", '\0' <repeats 12 times>, "\n\000\000\000\021\000\000\000\b\000\000
\000\a\000\000\000xR%\b¨e%\b\220R%\bøÖdA)(\b\b \216\032\bØ\204%
\bÄØdA0×dA\030R%\bÈÖdA_\220:@\a\000\000\000\200\034\023\bØÖdAH0\033\bðñ
\a\b\a\000\000\000\000Ä\t\b\001\000\000\0004âdA"
#14 0x0808122b in do_modify (op=0x82565a8, rs=0x4164d8b0)
at modify.c:200
mop = 2
tmp = {sml_mod = {sm_op = 0, sm_flags = 0,
sm_desc = 0x812cbc9, sm_type = {bv_len = 12,
bv_val = 0x82551f7 "userpassword"}, sm_values = 0x82584d8,
sm_nvalues = 0x0}, sml_next = 0x0}
mod = (Modifications *) 0xd17
dn = {bv_len = 37,
bv_val = 0x82551c7 "uid=joesmith,ou=people,dc=example,dc=com"}
last = 0x825520f ""
tag = 0
len = 31
modlist = (Modifications *) 0x8255278
modtail = (Modifications **) 0x8255290
increment = 0
textbuf = "Dx4@\000\000\000\000\016\000\000\000\230x@@@x@@
\210x@@@x@@@x@@°\210%\b\003\000\000\000\020\000\000\000@x@@\200n@@@x@@
\001\000\000\000¸×dACl4@@x@@\b\000\000\000\004\035'@X\t%@\b\000\000\000H
\001\000\000oD\032@\b\000\000\000@x@@\004\035'@£@\032@\b\000\000\000X\t%
@H\001\000\000\br\006@À\210%\b\000\v\v\bð×dA\004\035'@\020T\033\b\001
\000\000\000X\t%@ô\031\034@\b\000\000\000X\t%@H\001\000\000L±\006@°\204%
\bÈf%\b(ØdA\000\000\000\000À\210%\b\000\000\000\000"...
#15 0x0806d0ff in connection_operation (ctx=0x4164d940,
arg_v=0x82565a8) at connection.c:1049
rc = 0
rs = {sr_type = REP_RESULT, sr_tag = 0, sr_msgid = 0,
sr_err = 0, sr_matched = 0x0, sr_text = 0x0, sr_ref = 0x0,
sr_ctrls = 0x0, sr_un = {sru_sasl = {r_sasldata = 0x0},
sru_extended = {r_rspoid = 0x0, r_rspdata = 0x0}, sru_search = {
r_entry = 0x0, r_attr_flags = 0, r_operational_attrs = 0x0,
r_attrs = 0x0, r_nentries = 0, r_v2ref = 0x0}}, sr_flags = 0}
tag = 102
opidx = 5
conn = (Connection *) 0x405f4520
memctx = (void *) 0x8255218
memctx_null = (void *) 0x0
#16 0x4002f888 in ldap_int_thread_pool_wrapper (xpool=0x81b51e0)
at tpool.c:478
ctx = (ldap_int_thread_ctx_t *) 0x8254f30
ltc_key = {{ltk_key = 0x80b0b00, ltk_data = 0x8255218,
ltk_free = 0x80b09d0 <slap_sl_mem_destroy>}, {
ltk_key = 0x8253668, ltk_data = 0x11,
ltk_free = 0x80e6180 <bdb_locker_id_free>}, {
ltk_key = 0x8253669, ltk_data = 0x8256d70,
ltk_free = 0x80e5ee0 <bdb_txn_free>}, {ltk_key = 0x80ae0e0,
ltk_data = 0x0, ltk_free = 0}, {ltk_key = 0x80cac90,
ltk_data = 0x4174f008, ltk_free = 0x80cac70 <search_stack_free>},
{ltk_key = 0x0,
ltk_data = 0x0, ltk_free = 0} <repeats 27 times>}
tid = 1097128880
i = 136662832
keyslot = 560
hash = 3351
#17 0x402cab63 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#18 0x403ad18a in clone () from /lib/tls/libc.so.6
No symbol table info available.
Sam