[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#4180) slapd (back-sql) hangs/segfaults on SASL bind
On 19 Nov 2005 at 0:58, Pierangelo Masarati wrote:
> ^^^ This shouldn't have happened. auxvals[which].values here contains
> garbage instead of 0, although we reset it at 545 before calling
> prop_getnames() at 573. Could you make sure, e.g. by executing
>
> (gdb) p auxvals
>
> before calling prop_getnames(), that all the fields are initially zero,
> and see how they get filled by that call?
>
> Note, I suspect from your prints that you optimized the build. Could
> you try building with -O0, just in case?
Okay, I've got a non-optimized build:
545 struct propval auxvals[3] = { 0 };
(gdb) p auxvals
$9 = {{name = 0x9f84de8 "ÐJø\t", values = 0x9f84de8, nvalues = 0,
valsize = 167046113}, {name = 0x4 <Address 0x4 out of bounds>,
values = 0x8163cf0, nvalues = 1929434472, valsize = 135257559}, {
name = 0x9f84deb "\t", values = 0x9f84de8, nvalues = 1,
valsize = 167267816}}
551 *out_len = 0;
(gdb) p auxvals
$10 = {{name = 0x0, values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0,
values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0, values = 0x0,
nvalues = 0, valsize = 0}}
[....]
573 prop_getnames( props, slap_propnames, auxvals );
(gdb) p auxvals
$11 = {{name = 0x0, values = 0x0, nvalues = 0, valsize = 0}, {name =
0x0, values = 0x0, nvalues = 0, valsize = 0}, {name = 0x0, values =
0x0, nvalues = 0, valsize = 0}}
574 if ( !auxvals[0].name )
(gdb) p auxvals[which].values
$13 = (const char **) 0x9f621b4
(gdb) p auxvals
$14 = {{name = 0x811f224 "*slapConn", values = 0x9f621b4, nvalues =
1,
valsize = 4}, {name = 0x811f22e "*slapAuthcDN", values =
0x9f621bc,
nvalues = 1, valsize = 8}, {name = 0x811f23b "*slapAuthzDN",
values = 0x9f621d4, nvalues = 1, valsize = 6}}
(gdb) p *((struct berval *)0x9f621bc)
$15 = {bv_len = 167126546, bv_val = 0x0}
(gdb) p *((struct berval *)0x9f621d4)
$16 = {bv_len = 167126525, bv_val = 0x0}
----
Nels Lindquist <*>
Information Systems Manager
Morningstar Air Express Inc.