[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Plugin configuration problem
On Mon, 2005-08-08 at 22:36 +0200, Pierangelo Masarati wrote:
> Samuel Tran wrote:
>
> >On Fri, 2005-08-05 at 08:21 +0200, Pierangelo Masarati wrote:
> >
> >
> >>Don't take it 100% sure because I haven't checked yet, but I fear slapi
> >>is broken in 2.3.4; in 2.3.5 likely its new implementation will be
> >>released, where the entire slapi framework actually has become an
> >>overlay (that will be automatically instantiated the first time a plugin
> >>is loaded). If you feel like, I suggest you check HEAD code. I don't
> >>guarantee everything to work like a charm, because development is right
> >>underway, but most of it should be done, and you could provide valuable
> >>feedback.
> >>
> >>
> >>
> >
> >Pierangelo,
> >
> >Today I checked out HEAD code and compiled it with '--enable-modules'
> >and '--enable-slapi'. Then I tried my plugin from P-Synch. Likewise when
> >the preoperation type plugin is called (when I change the userPassword
> >attribute for a given user) slapd just crashes with the following error
> >message:
> >
> >[snip]
> >do_modify: dn (uid=joesmith,ou=people,dc=example,dc=com)
> >ber_scanf fmt ({i{m[W]}}) ber:
> >ber_dump: buf=0x082551b0 ptr=0x082551de end=0x082551ff len=33
> > 0000: 30 1f 0a 01 02 30 1a 04 0c 75 73 65 72 70 61 73
> >0....0...userpas
> > 0010: 73 77 6f 72 64 31 0a 04 08 37 75 38 69 39 6f 30
> >sword1...7u8i9o0
> > 0020: 70
> >p
> >
> >
> >>>>dnPrettyNormal: <uid=joesmith,ou=people,dc=example,dc=com>
> >>>>
> >>>>
> >=> ldap_bv2dn(uid=joesmith,ou=people,dc=example,dc=com,0)
> >ldap_err2string
> ><= ldap_bv2dn(uid=joesmith,ou=people,dc=example,dc=com)=0 Success
> >=> ldap_dn2bv(272)
> >ldap_err2string
> ><= ldap_dn2bv(uid=joesmith,ou=people,dc=example,dc=com)=0 Success
> >=> ldap_dn2bv(272)
> >ldap_err2string
> ><= ldap_dn2bv(uid=joesmith,ou=people,dc=example,dc=com)=0 Success
> ><<< dnPrettyNormal: <uid=joesmith,ou=people,dc=example,dc=com>,
> ><uid=joesmith,ou=people,dc=example,dc=com>
> >modifications:
> > replace: userpassword
> > one value, length 8
> >bdb_dn2entry("uid=joesmith,ou=people,dc=example,dc=com")
> >ch_strdup((null)) failed
> >slapd: ch_malloc.c:122: ch_strdup: Assertion `0' failed.
> >Aborted
> >
> >Any idea of what is wrong?
> >
> >
>
> You should follow instructions at
> <http://www.openldap.org/faq/data/cache/59.html> and report the problem
> with as much useful information as possible. In this specific case, the
> file/line number of the assertion is nearly useless, but failed
> assertions, when trapped from inside a debugger, or when inspecting a
> core file, allow to backtrace to the real cause of the problem, or at
> least to the point where it happened.
>
I got a 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