Russ Allbery wrote:
Oren Laadan <orenl(a)cs.columbia.edu> writes:
> Russ Allbery wrote:
>> orenl(a)cs.columbia.edu writes:
>>> Our configuration uses both BDB and META back-ends; as it turns out
>>> the standard debian package of LDAP fails to run with the META
>>> back-end configured (see also complaints here:
>>>
http://www.openldap.org/lists/openldap-bugs/200705/msg00011.html and
>>> here:
http://arkiv.netbsd.se/?ml=OpenLDAP-bugs&a=2007-02&t=3076794).
>> Yeah, we're still trying to figure out the best way to fix that.
>> libtool has some serious problems with how it handles namespaces when
>> dynamically loading modules, and fixing one set of problems creates a
>> separate set of problems. (This particular problem is Debian-specific
>> and not a problem with the upstream OpenLDAP.)
> :(
>
> Well, the good news is that it isn't a show-stopper, and the simple
> workaround is to compile the code from scratch.
Specifically, the workaround is to compile the code with the upstream
libtool instead of with Debian's libtool, since upstream libtool imports
all module symbols into the global namespace. Debian's libtool has been
modified to not do this because it causes all sorts of other problems in
the general case, but not doing this breaks the meta backend because it
wants to reference symbols from the bdb backend.
Steve had an ugly hack to work around this by linking the meta backend
against the bdb backend. Doing that isn't the ugly part -- that's
actually formally correct and really is what libtool should be doing in
the first place. The ugly part is that libtool *really* doesn't like
linking against something that doesn't start with lib*.
> What's really bothering me, is that the system repeatedly and frequently
> hangs with my configuration ... (my users aren't happy with me
> recently). Do you have any idea how to investigate that ?
Not beyond the standard advice to investigate what the server is doing
during a hang using gdb attach or strace.
done that. couldn't find anything interesting: some threads where
waiting in some posix-threads related place (most of them were in
thread-join if I recall correctly).
as I'm not familiar with ldap implementation, was hard to just dive
in without prior knowledge.
note that the problems happens becomes more acute when I set the
"idle_timeout" to 30 seconds; the system is much more tolerant when
it isn't set.
We have yet to have a chance to do intensive testing of 2.4.7. (Debian
testing really is a testing distribution that doesn't have production
stability.)
I observed the exact same behavior on 2.3.9 (latest stable) that I
compiled from scratch; this is actually the reason why I moved to
2.4.7 (hoped it would be better).
Is there someone who can work with me on getting to the root cause
and hopefully getting it fixed ?
Oren.