Startup problem with ldap

Alan DeKok aland at deployingradius.com
Tue Nov 6 23:10:53 CET 2007


Massimo Meregalli wrote:
> The following is the backtrace produced when I attach the debugger to
> the radiusd process:
> 
> 
> (gdb) backtrace
>         #0  0x0012d402 in __kernel_vsyscall ()
>         #1  0x00166a0e in __lll_mutex_lock_wait ()
>         from /lib/libpthread.so.0
>         #2  0x00162883 in _L_mutex_lock_79 () from /lib/libpthread.so.0
>         #3  0x001623ad in pthread_mutex_lock ()
>         from /lib/libpthread.so.0
>         #4  0x00704e6d in ldap_pvt_thread_mutex_lock ()
>         from /usr/lib/libldap_r-2.3.so.0

  Pretty much what I expected.  The LDAP code is blocking on a mutex.
Why, I don't know.

>         #5  0x0070f79b in ldap_ld_free ()
>         from /usr/lib/libldap_r-2.3.so.0
>         #6  0x00663dd7 in ?? () from /usr/lib/libnss_ldap.so.2
>         #7  0x00667504 in ?? () from /usr/lib/libnss_ldap.so.2

  libnss_ldap?  Huh?  Where did that come from?

  Are you trying to get passwords via the "unix" module, over NSS, using
LDAP?

  I suggest commenting out the "unix" module from radiusd.conf.  The
issue MAY be conflicting use of static variables in the OpenLDAP libraries.

  i.e. The OpenLDAP libraries can connect to *one* LDAP server.  Not
two, *one*.  So if you use rlm_ldap, you *cannot* lookup usernames and
passwords in LDAP, via NSS.  The OpenLDAP libraries will break...
possibly exactly like this.

  Alan DeKok.



More information about the Freeradius-Users mailing list