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

Re: Fwd: Re: slapd crashes silently with new libc6 (ITS#2168)

>  I did 2, 4, and 256 all times it died without spitting any error
>  when it died.
>  I tried to do 4095, but after a couple hours, many users complaining
> and about 6.3 gigs of a syslog I gave up.
>> (the highest possible compatibly with
>>  the operativity of the server and the availability of resources),
>> and try to find some significant info from the logs right
>>  before the crash; a backtrace from gdb would also be very
>>  helpful; you should run slapd form inside gdb with -d 0 to
>>  prevent slapd from forking and going into background.
>  After quite a few false starts
>  I got a backtrace with debuging symbols.

>  (gdb) bt
>  #0  0x403559e3 in re_exec () from /lib/libc.so.6
>  #1  0x403557c3 in re_exec () from /lib/libc.so.6
>  #2  0x40350ae3 in re_exec () from /lib/libc.so.6
>  #3  0x403501f2 in regexec () from /lib/libc.so.6
>  #4  0x08068e78 in acl_get (a=0x80ec8b8, count=0xbf3ff840, be=0x80de220,

The error appears to happen inside your regex library,
but it is not possible if it is related to the library
or to slapd; unfortunately there is no printing of the
offending string/value; one thing you should do is to
reproduce under gdb the offending search:


The offended line is:

        if (regexec(&a->acl_dn_re, e->e_ndn, nmatch, matches, 0))

since "nmatch" and "matches" appear to be valid, "a->acl_dn_re"
should be ok otherwise you'd fail at the very first ACL check,
"e" seems to be fine, the only chance is "e->e_ndn" contains
something your regex library doesn't like (a "NULL" should not
be possible, though).

If the crash is repeatable, then you should be able to see what
is causing it.  You should be able to stop at that line and print

p "e->e_ndn".

You should also try to recompile slapd yourself with the new
library (to clear out any doubt).

Pierangelo Masarati