[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#3698) [devel] test035-meta fails
--On Tuesday, May 03, 2005 11:26 PM +0200 Pierangelo Masarati
<ando@sys-net.it> wrote:
> That's way more interesting. Looks like when debugging librewrite stuff
> I'm printing a NULL, which on Linux doesn't harm but might on Solaris.
> I'll recheck all that portion of code; yoru stack trace doesn't indicate
> where the accident occurred in back-meta. Can you step a bit more
> backwards? Moreover, you should be able to complete the test if you
> reduce the logs (e.g. with SLAPD_DEBUG=0).
>
> Thanks, Ando.
(gdb) bt
#0 0xfeb33218 in strlen () from /usr/lib/libc.so.1
#1 0xfeb86530 in _doprnt () from /usr/lib/libc.so.1
#2 0xfeb88708 in vsnprintf () from /usr/lib/libc.so.1
#3 0xff3171cc in lutil_debug (debug=261, level=4, fmt=0x121258 "[rw] %s:
\"%s\" -> \"%s\"\n") at debug.c:82
#4 0x000992b0 in ldap_back_dn_massage (dc=0xfdfff7a8, dn=0xfdfff618,
res=0xfdfff620) at suffixmassage.c:89
#5 0x000d4e04 in ldap_back_referral_result_rewrite (dc=0xfdfff7a8,
a_vals=0x366f50) at map.c:609
#6 0x00098e78 in meta_send_entry (op=0x255338, rs=0xfdfffd58, mc=0x366df0,
target=1688128, e=0x23eaf0) at search.c:896
#7 0x00098ad4 in meta_back_search (op=0x255338, rs=0xfdfffd58) at
search.c:383
#8 0x00028dfc in fe_op_search (op=0x255338, rs=0xfdfffd58) at search.c:393
#9 0x000286bc in do_search (op=0x255338, rs=0xfdfffd58) at search.c:223
#10 0x00026ddc in connection_operation (ctx=0x0, arg_v=0x255338) at
connection.c:1049
#11 0xff33ce5c in ldap_int_thread_pool_wrapper (xpool=0x1addd0) at
tpool.c:479
#12 0xfeae4c44 in _lwp_start () from /usr/lib/lwp/libthread.so.1
#13 0xfeae4c44 in _lwp_start () from /usr/lib/lwp/libthread.so.1
(gdb) frame 3
#3 0xff3171cc in lutil_debug (debug=261, level=4, fmt=0x121258 "[rw] %s:
\"%s\" -> \"%s\"\n") at debug.c:82
82 va_start( vl, fmt );
(gdb) l
77
78 ber_set_option( NULL, LBER_OPT_LOG_PRINT_FILE,
log_file );
79 }
80 #endif
81
82 va_start( vl, fmt );
83 vsnprintf( buffer, sizeof(buffer), fmt, vl );
84 buffer[sizeof(buffer)-1] = '\0';
85 if( log_file != NULL ) {
86 fputs( buffer, log_file );
(gdb) frame 4
#4 0x000992b0 in ldap_back_dn_massage (dc=0xfdfff7a8, dn=0xfdfff618,
res=0xfdfff620) at suffixmassage.c:89
89 break;
(gdb) l
84 #else /* !NEW_LOGGING */
85 Debug( LDAP_DEBUG_ARGS,
86 "[rw] %s: \"%s\" -> \"%s\"\n", dc->ctx,
dn->bv_val, res->bv_val );
87 #endif /* !NEW_LOGGING */
88 rc = LDAP_SUCCESS;
89 break;
90
91 case REWRITE_REGEXEC_UNWILLING:
92 if ( dc->rs ) {
93 dc->rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
(gdb) frame 5
#5 0x000d4e04 in ldap_back_referral_result_rewrite (dc=0xfdfff7a8,
a_vals=0x366f50) at map.c:609
609 rc = ldap_back_dn_massage( dc, &olddn, &dn );
(gdb) l
604 ludp->lud_scope = LDAP_SCOPE_DEFAULT;
605 }
606
607 ber_str2bv( ludp->lud_dn, 0, 0, &olddn );
608
609 rc = ldap_back_dn_massage( dc, &olddn, &dn );
610 switch ( rc ) {
611 case LDAP_UNWILLING_TO_PERFORM:
612 /*
613 * FIXME: need to check if it may be
considered
(gdb) frame 6
#6 0x00098e78 in meta_send_entry (op=0x255338, rs=0xfdfffd58, mc=0x366df0,
target=1688128, e=0x23eaf0) at search.c:896
896 ldap_back_referral_result_rewrite( &dc,
attr->a_vals );
(gdb) l
891
slap_schema.si_syn_distinguishedName )
892 {
893 ldap_dnattr_result_rewrite( &dc,
attr->a_vals );
894
895 } else if ( attr->a_desc == slap_schema.si_ad_ref )
{
896 ldap_back_referral_result_rewrite( &dc,
attr->a_vals );
897 }
898
899 if ( last && attr->a_desc->ad_type->sat_equality &&
900
attr->a_desc->ad_type->sat_equality->smr_normalize ) {
(gdb) frame 7
#7 0x00098ad4 in meta_back_search (op=0x255338, rs=0xfdfffd58) at
search.c:383
383 meta_send_entry( op, rs, mc, i, e );
(gdb) l
378 is_ok++;
379
380 e = ldap_first_entry( msc->msc_ld,
res );
381 savepriv = op->o_private;
382 op->o_private = (void *)i;
383 meta_send_entry( op, rs, mc, i, e );
384 op->o_private = savepriv;
385
386 ldap_msgfree( res );
387 res = NULL;
(gdb) frame 8
#8 0x00028dfc in fe_op_search (op=0x255338, rs=0xfdfffd58) at search.c:393
393 (op->o_bd->be_search)( op, rs );
(gdb) l
388 #endif /* LDAP_SLAPI */
389
390 /* actually do the search and send the result(s) */
391 if ( op->o_bd->be_search ) {
392 if ( limits_check( op, rs ) == 0 ) {
393 (op->o_bd->be_search)( op, rs );
394 }
395 /* else limits_check() sends error */
396
397 } else {
(gdb) frame 9
#9 0x000286bc in do_search (op=0x255338, rs=0xfdfffd58) at search.c:223
223 rs->sr_err = frontendDB->be_search( op, rs );
(gdb) l
218 op->o_log_prefix, abuf, 0, 0, 0 );
219 }
220 }
221
222 op->o_bd = frontendDB;
223 rs->sr_err = frontendDB->be_search( op, rs );
224
225 return_results:;
226 if ( !BER_BVISNULL( &op->o_req_dn ) ) {
227 slap_sl_free( op->o_req_dn.bv_val, op->o_tmpmemctx
);
(gdb) frame 10
#10 0x00026ddc in connection_operation (ctx=0x0, arg_v=0x255338) at
connection.c:1049
1049 rc = (*(opfun[opidx]))( op, &rs );
(gdb) l
1044 assert( 0 );
1045 }
1046
1047 assert( opidx > -1 );
1048 INCR_OP_INITIATED( opidx );
1049 rc = (*(opfun[opidx]))( op, &rs );
1050
1051 operations_error:
1052 if ( rc == SLAPD_DISCONNECT ) {
1053 tag = LBER_ERROR;
(gdb) frame 11
#11 0xff33ce5c in ldap_int_thread_pool_wrapper (xpool=0x1addd0) at
tpool.c:479
479 ctx->ltc_start_routine(ltc_key, ctx->ltc_arg);
(gdb) l
474
475 LDAP_SLIST_INSERT_HEAD(&pool->ltp_active_list, ctx,
ltc_next.al);
476 pool->ltp_active_count++;
477 ldap_pvt_thread_mutex_unlock(&pool->ltp_mutex);
478
479 ctx->ltc_start_routine(ltc_key, ctx->ltc_arg);
480
481 ldap_pvt_thread_mutex_lock(&pool->ltp_mutex);
482 LDAP_SLIST_REMOVE(&pool->ltp_active_list, ctx,
483 ldap_int_thread_ctx_s, ltc_next.al);
--
Quanah Gibson-Mount
Principal Software Developer
ITSS/Shared Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html
"These censorship operations against schools and libraries are stronger
than ever in the present religio-political climate. They often focus on
fantasy and sf books, which foster that deadly enemy to bigotry and blind
faith, the imagination." -- Ursula K. Le Guin