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

Re: (ITS#7450) segfault with listener-threads=8



jackie.qq.zhang@gmail.com wrote:
> --20cf300faffd868e6d04cf5a0c62
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> Hi, Michael,
>
> This is my simplified configuration file which can reproduce the segfault.
> For the purpose of replay, I use "50" instead of "8" because using "8"
> sometime cannot reproduce the error.

This bug report is invalid. You reported a "segfault" originally, not an 
assert() as shown in this trace. The slapd.conf(5) manpage clearly states that 
the value should be a power of 2.

> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> slapd.conf
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> listener-threads 50
> include       /xxx/etc/openldap/schema/core.schema
> pidfile         /xxx/var/run/slapd.pid
> argsfile       /xxx/var/run/slapd.args
>
> database        bdb
> suffix          "dc=3Dxxx,dc=3Dxxx"
> rootdn          "cn=3Dxxx,dc=3Dxxx,dc=3Dxxx"
> rootpw          secret
> directory       /xxx/var/openldap-data
> index   objectClass     eq
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
>
> The stack traces are:
>
> Thread 3 (Thread 0x7ffff4f2c700 (LWP 24897)):
> #0  0x00007ffff6d40481 in clone () from /lib/x86_64-linux-gnu/libc.so.6
> #1  0x00007ffff7012dc0 in ?? () from /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007ffff4f2c700 in ?? ()
> #3  0x0000000000000000 in ?? ()
>
> Thread 2 (Thread 0x7ffff572d700 (LWP 24896)):
> #0  0x000000000042543f in slapd_add (s=3D10, isactive=3D0, sl=3D0x0, id=3D0=
> ) at
> daemon.c:857
> #1  0x0000000000429afc in slapd_daemon_task (ptr=3D0xaa8ed0) at daemon.c:21=
> 37
> #2  0x00007ffff7012e9a in start_thread () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #3  0x00007ffff6d404bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
> #4  0x0000000000000000 in ?? ()
>
> Thread 1 (Thread 0x7ffff7fe1700 (LWP 24893)):
> #0  0x00007ffff6d40481 in clone () from /lib/x86_64-linux-gnu/libc.so.6
> #1  0x00007ffff7011f70 in do_clone.constprop.4 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #2  0x00007ffff70138ba in pthread_create@@GLIBC_2.2.5 () from
> /lib/x86_64-linux-gnu/libpthread.so.0
> #3  0x000000000058ccbb in ldap_pvt_thread_create (thread=3D0xaa8ed8,
> detach=3D0, start_routine=3D0x429a7c <slapd_daemon_task>, arg=3D0xaa8ed8\
> ) at thr_posix.c:165
> #4  0x000000000042bf28 in slapd_daemon () at daemon.c:2918
> #5  0x00000000004087b8 in main (argc=3D7, argv=3D0x7fffffffe008) at main.c:=
> 1012
>
> The GDB stopped at the following statement:
>
> assert( SLAP_SOCK_NOT_ACTIVE(id, s) );
>
> which is in slapd_add, daemon.c:857.
>
> Best regards,
> Jackie
>
>
>
> On Sun, Nov 25, 2012 at 6:29 AM, Michael Str=F6der <michael@stroeder.com>wr=
> ote:
>
>> jackie.qq.zhang@gmail.com wrote:
>>> The default configuration does not have this problem. So I checked ever=
> y
>>> configuration setting I made and finally found it's caused by the
>> following
>>> setting:
>>>
>>> listener-threads 8
>>
>> I tried to reproduce this by adding the line above to my local config. Bu=
> t
>> slapd still works on my system.
>>
>> Could you please provide a canned config which reproduces the seg fault a=
> nd
>> preferrably a full stack trace?
>>
>> http://www.openldap.org/faq/data/cache/59.html
>>
>> Make sure you have installed slapd with debug symbols (make install
>> STRIP=3D"").
>>
>> Ciao, Michael.
>>
>
> --20cf300faffd868e6d04cf5a0c62
> Content-Type: text/html; charset=ISO-8859-1
> Content-Transfer-Encoding: quoted-printable
>
> Hi, Michael,<br><br>This is my simplified configuration file which can repr=
> oduce the segfault. For the purpose of replay, I use &quot;50&quot; instead=
>   of &quot;8&quot; because using &quot;8&quot; sometime cannot reproduce the=
>   error.<br>
> <br>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
> slapd.conf<br>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
> listener-threads 50<br>include=A0=A0=A0=A0=A0=A0 /xxx/etc/openldap/schema/c=
> ore.schema<br>
> pidfile=A0=A0=A0=A0=A0=A0=A0=A0 /xxx/var/run/slapd.pid<br>
> argsfile=A0=A0=A0=A0=A0=A0 /xxx/var/run/slapd.args<br>
> <br>
> database=A0=A0=A0=A0=A0=A0=A0 bdb <br>
> suffix=A0=A0=A0=A0=A0=A0=A0=A0=A0 &quot;dc=3Dxxx,dc=3Dxxx&quot;<br>
> rootdn=A0=A0=A0=A0=A0=A0=A0=A0=A0 &quot;cn=3Dxxx,dc=3Dxxx,dc=3Dxxx&quot;<br=
>>
> rootpw=A0=A0=A0=A0=A0=A0=A0=A0=A0 secret<br>
> directory=A0=A0=A0=A0=A0=A0 /xxx/var/openldap-data<br>
> index=A0=A0 objectClass=A0=A0=A0=A0 eq<br>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br><br>The stack traces are:=
> <br><br>Thread 3 (Thread 0x7ffff4f2c700 (LWP 24897)):<br>#0=A0 0x00007ffff6=
> d40481 in clone () from /lib/x86_64-linux-gnu/libc.so.6<br>#1=A0 0x00007fff=
> f7012dc0 in ?? () from /lib/x86_64-linux-gnu/libpthread.so.0<br>
> #2=A0 0x00007ffff4f2c700 in ?? ()<br>#3=A0 0x0000000000000000 in ?? ()<br><=
> br>Thread 2 (Thread 0x7ffff572d700 (LWP 24896)):<br>#0=A0 0x000000000042543=
> f in slapd_add (s=3D10, isactive=3D0, sl=3D0x0, id=3D0) at daemon.c:857<br>=
> #1=A0 0x0000000000429afc in slapd_daemon_task (ptr=3D0xaa8ed0) at daemon.c:=
> 2137<br>
> #2=A0 0x00007ffff7012e9a in start_thread () from /lib/x86_64-linux-gnu/libp=
> thread.so.0<br>#3=A0 0x00007ffff6d404bd in clone () from /lib/x86_64-linux-=
> gnu/libc.so.6<br>#4=A0 0x0000000000000000 in ?? ()<br><br>Thread 1 (Thread =
> 0x7ffff7fe1700 (LWP 24893)):<br>
> #0=A0 0x00007ffff6d40481 in clone () from /lib/x86_64-linux-gnu/libc.so.6<b=
> r>#1=A0 0x00007ffff7011f70 in do_clone.constprop.4 () from /lib/x86_64-linu=
> x-gnu/libpthread.so.0<br>#2=A0 0x00007ffff70138ba in pthread_create@@GLIBC_=
> 2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0<br>
> #3=A0 0x000000000058ccbb in ldap_pvt_thread_create (thread=3D0xaa8ed8, deta=
> ch=3D0, start_routine=3D0x429a7c &lt;slapd_daemon_task&gt;, arg=3D0xaa8ed8\=
> <br>) at thr_posix.c:165<br>#4=A0 0x000000000042bf28 in slapd_daemon () at =
> daemon.c:2918<br>
> #5=A0 0x00000000004087b8 in main (argc=3D7, argv=3D0x7fffffffe008) at main.=
> c:1012<br><br>The GDB stopped at the following statement: <br><br>assert( S=
> LAP_SOCK_NOT_ACTIVE(id, s) );<br><br>which is in slapd_add, daemon.c:857.<b=
> r>
> <br>Best regards,<br>Jackie<br><br><br><br><div class=3D"gmail_quote">On Su=
> n, Nov 25, 2012 at 6:29 AM, Michael Str=F6der <span dir=3D"ltr">&lt;<a href=
> =3D"mailto:michael@stroeder.com"; target=3D"_blank">michael@stroeder.com</a>=
> &gt;</span> wrote:<br>
> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
> x #ccc solid;padding-left:1ex"><a href=3D"mailto:jackie.qq.zhang@gmail.com"=
>> jackie.qq.zhang@gmail.com</a> wrote:<br>
> &gt; The default configuration does not have this problem. So I checked eve=
> ry<br>
> &gt; configuration setting I made and finally found it&#39;s caused by the =
> following<br>
> &gt; setting:<br>
> &gt;<br>
> &gt; listener-threads 8<br>
> <br>
> I tried to reproduce this by adding the line above to my local config. But<=
> br>
> slapd still works on my system.<br>
> <br>
> Could you please provide a canned config which reproduces the seg fault and=
> <br>
> preferrably a full stack trace?<br>
> <br>
> <a href=3D"http://www.openldap.org/faq/data/cache/59.html"; target=3D"_blank=
> ">http://www.openldap.org/faq/data/cache/59.html</a><br>
> <br>
> Make sure you have installed slapd with debug symbols (make install STRIP=
> =3D&quot;&quot;).<br>
> <br>
> Ciao, Michael.<br>
> </blockquote></div><br>
>
> --20cf300faffd868e6d04cf5a0c62--
>
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/