[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