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

Re: (ITS#6282) Assertion failure in openldap clients when server is frozen and limits are in place



Easily reproducable.

./configure --without-tls --without-cyrus-sasl --disable-slapd CFLAGS=3D=
"-O0 -g"
make -s

echo TIMEOUT 1 > ldaprc

: Run a listening "server" which just sleeps
python -c 'import time; from socket import *; s =3D socket(AF=5FINET, S=
OCK=5FSTREAM); s.bind(("localhost", 3890)); s.listen(5); time.sleep(999=
9)' &

gdb -q clients/tools/ldapsearch
(gdb) run -xh localhost:3890
ldapsearch: error.c:255: ldap=5Fparse=5Fresult: Assertion `r !=3D ((voi=
d *)0)' failed.

(gdb) backtrace
#0  0x00002b811748d265 in raise () from /lib64/libc.so.6
#1  0x00002b811748ed10 in abort () from /lib64/libc.so.6
#2  0x00002b81174866e6 in =5F=5Fassert=5Ffail () from /lib64/libc.so.6
#3  0x0000000000413234 in ldap=5Fparse=5Fresult (ld=3D0x65a7170, r=3D0x=
0, errcodep=3D0x7fffc814f1a8, matcheddnp=3D0x7fffc814f190, errmsgp=3D0x=
7fffc814f188,=20
    referralsp=3D0x7fffc814f180, serverctrls=3D0x7fffc814f198, freeit=3D=
1) at error.c:255
#4  0x0000000000408cfd in tool=5Fbind (ld=3D0x65a7170) at common.c:1422=

#5  0x0000000000403fef in main (argc=3D3, argv=3D0x7fffc8153508) at lda=
psearch.c:912
(gdb) frame 4
#4  0x0000000000408cfd in tool=5Fbind (ld=3D0x65a7170) at common.c:1422=

1422                    rc =3D ldap=5Fparse=5Fresult( ld, result, &err,=
 &matched, &info, &refs,
(gdb) info locals
err =3D 0
msgbuf =3D "\000\000\000\000\000\000\000\000\0005e\000\000\000\000\000(=
\000\000\000\021\000\000\000pqZ\006\000\000\000\000=C0=F0\024=C8=FF\177=
\000\000PpZ\006\000\000\000\000=A0rZ\006\000\000\000\000xqZ\006", '\0' =
<repeats 12 times>, "0=F3Z\006\000\000\000\000=F0=F0\024=C8=FF\177\000\=
000\025=FA@", '\0' <repeats 13 times>, " =F1\024=C8=FF\177\000\000pqZ\0=
06\000\000\000\000\2008e\000\000\000\000\0000=F1\024=C8=FF\177\000\000Q=
=FB@\000\000\000\000\0000=F1\024=C8=FF\177\000\000`\216B\000\000\000\00=
0\000PpZ\006\000\000\000\000=F0=F1\024=C8=FF\177\000\000\003\000\000\00=
0\000\000\000\000pqZ\006\000\000\000\000P=F2\024=C8=FF\177\000\000=B0\2=
11@\000\000"...
info =3D 0x0
refs =3D (char **) 0x0
msgid =3D 1
rc =3D 0
result =3D (LDAPMessage *) 0x0
ctrls =3D (LDAPControl **) 0x0
matched =3D 0x0
sctrlsp =3D (LDAPControl **) 0x0
sctrls =3D {0x0, 0x65a7020, 0x443b26}
sctrl =3D {{ldctl=5Foid =3D 0xffffffff <Address 0xffffffff out of bound=
s>, ldctl=5Fvalue =3D {bv=5Flen =3D 0, bv=5Fval =3D 0x0}, ldctl=5Fiscri=
tical =3D 0 '\0'}, {
    ldctl=5Foid =3D 0x65a7050 "ldap://localhost:3890";, ldctl=5Fvalue =3D=
 {bv=5Flen =3D 106590352, bv=5Fval =3D 0x4fc2 <Address 0x4fc2 out of bo=
unds>},=20
    ldctl=5Fiscritical =3D -43 '=D5'}, {ldctl=5Foid =3D 0x65a7170 "0=F3=
Z\006", ldctl=5Fvalue =3D {bv=5Flen =3D 388262848, bv=5Fval =3D 0x7fffc=
8153420 ""},=20
    ldctl=5Fiscritical =3D -110 '\222'}}
nsctrls =3D 0
=5F=5FPRETTY=5FFUNCTION=5F=5F =3D "tool=5Fbind"

--=20
Hallvard