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

Re: (ITS#4180) slapd (back-sql) hangs/segfaults on SASL bind



On Sat, 2005-11-19 at 00:48 +0000, Nels@maei.ca wrote:

> Hm... it seems to be working opposite to expectations, then.  Here's 
> auxvals immediately after it's reset:

The pattern you show below is an effect of debugging an optimized
program: the optimizer screws up a bit line numbering.  Please retry
without optimization
> 
> 545             struct propval auxvals[3] = { 0 };
> (gdb) p auxvals
> $13 = {{name = 0x9af7de8 "�z¯\t", values = 0x9af7de8, nvalues = 0, 
>     valsize = 162274273}, {name = 0x4 <Address 0x4 out of bounds>, 
>     values = 0x8162cb0, nvalues = 1929438584, valsize = 135253975}, {
>     name = 0x9af7deb "\t", values = 0x9af7de8, nvalues = 1, 
>     valsize = 162495976}}
> (gdb) p auxvals[3]
> $14 = {name = 0x9a2a190 "sql", values = 0x80fcd50, nvalues = 
> 162271696, valsize = 135677768}
> 
> And after prop_getnames():
> 
> 573             prop_getnames( props, slap_propnames, auxvals );
> (gdb) p auxvals
> $15 = {{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
> $3 = {{name = 0x811e3cf "*slapConn", values = 0x901a1b4, nvalues = 1, 
>     valsize = 4}, {name = 0x811e3d9 "*slapAuthcDN", values = 
> 0x901a1bc, 
>     nvalues = 1, valsize = 8}, {name = 0x811e3e6 "*slapAuthzDN", 
>     values = 0x901a1d4, nvalues = 1, valsize = 6}}
> 
> > Note, I suspect from your prints that you optimized the build.  Could
> > you try building with -O0, just in case?
> 
> Sorry; just got back from a meeting and now I have to leave, so I 
> don't have time to rebuild right now.  
> 
> All I did was configure; make depend; make, make install, though.  Is 
> it optimized by default?  I'll check when I get a chance...

Yes, by default you get "-O2".  Please force "-O0" in CFLAGS at
configure.  A quick'n'dirty solution consists in manually replacing all
occurrences of "-O" in slapd/Makefile with "-O0", touch the files you
intend to debug and make.  In this case, unless we need to follow other
directions, slapd/sasl.c suffices.

p.




Ing. Pierangelo Masarati
Responsabile Open Solution

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it
------------------------------------------