[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#3695) [devel]test026-dn segfaults



Full_Name: Quanah Gibson-Mount
Version: HEAD
OS: Solaris 8
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (171.64.19.82)


test026-dn fails in the 4/28 checkout of HEAD I took, with a segfault:

gdb) cont
Continuing.
[New LWP 2]
[New LWP 3]

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 3]
slap_sl_malloc (size=16, ctx=0x1cbd68) at sl_malloc.c:267
267                     *new++ = size - sizeof(ber_len_t);
(gdb) bt
#0  slap_sl_malloc (size=16, ctx=0x1cbd68) at sl_malloc.c:267
#1  0x00028198 in get_filter (op=0x1f66f8, ber=0x1f5960, filt=0x1f6734,
text=0xfdfffd6c) at filter.c:282
#2  0x000272ec in do_search (op=0x0, rs=0x1f5960) at search.c:138

(gdb) frame 2
#2  0x000272ec in do_search (op=0x0, rs=0x1f5960) at search.c:138
138             rs->sr_err = get_filter( op, op->o_ber, &op->ors_filter,
&rs->sr_text );
(gdb) l
138             rs->sr_err = get_filter( op, op->o_ber, &op->ors_filter,
&rs->sr_text );
139             if( rs->sr_err != LDAP_SUCCESS ) {
140                     if( rs->sr_err == SLAPD_DISCONNECT ) {
141                             rs->sr_err = LDAP_PROTOCOL_ERROR;
142                             send_ldap_disconnect( op, rs );
143                             rs->sr_err = SLAPD_DISCONNECT;
144                     } else {
145                             send_ldap_result( op, rs );
146                     }
147                     goto return_results;


(gdb) frame 1
#1  0x00028198 in get_filter (op=0x1f66f8, ber=0x1f5960, filt=0x1f6734,
text=0xfdfffd6c) at filter.c:282
282                     *filt = op->o_tmpalloc( sizeof(f), op->o_tmpmemctx );
(gdb) l
277                     f.f_result = SLAPD_COMPARE_UNDEFINED;
278                     err = LDAP_SUCCESS;
279             }
280
281             if ( err == LDAP_SUCCESS ) {
282                     *filt = op->o_tmpalloc( sizeof(f), op->o_tmpmemctx );
283                     **filt = f;
284             }
285
286             Debug( LDAP_DEBUG_FILTER, "end get_filter %d\n", err, 0, 0 );




(gdb) frame 0
#0  slap_sl_malloc (size=16, ctx=0x1cbd68) at sl_malloc.c:267
267                     *new++ = size - sizeof(ber_len_t);
(gdb) l
262                                     "slap_sl_malloc of %lu bytes failed,
using ch_malloc\n",
263                                     (long)size, 0, 0);
264                             return ch_malloc(size);
265                     }
266                     new = sh->sh_last;
267                     *new++ = size - sizeof(ber_len_t);
268                     sh->sh_last = (char *) sh->sh_last + size;
269                     return( (void *)new );
270             } else {
271                     size_shift = size - 1;

--Quanah