tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: radiusd: Error detected by libpthread: Invalid mutex.



> #0  0x00007f7ff5a0b2d6 in pthread__errorfunc () from /usr/lib/libpthread.so.1
> #1  0x00007f7ff5a089ae in ?? () from /usr/lib/libpthread.so.1
> #2  0x00007f7fece2df14 in ldap_ld_free () from /usr/lib/libldap_r.so.4
> #3  0x00007f7ff4e05ca2 in ?? () from /usr/lib/nss_ldap.so.0
> #4  0x00007f7ff4e076e4 in ?? () from /usr/lib/nss_ldap.so.0
> #5  0x00007f7ff568026e in fork () from /usr/lib/libc.so.12
> #6  0x000000000041b6a9 in main ()
> 
> OOPS?
I'm making some progress on this. That ldap_ld_free() is called from a
pthread_atfork (child) handler installed by nss_ldap.

However, I had a hard time setting breakpoints that where not hit despite
the corresponding function showing up in a later backtrace until I realized
that I had TWO copies of LDAP libraries in memory: One libldap pulled in by
nss_ldap and one libldap_r pulled in by FreeRADIUS' rlm_ldap module.

Question one: Is that alone (i.e. using both libldap and libldap_r) asking
for trouble?

Question two: If not, how do I set a breakpoint on a specific incarnation
of ldap_foobar?


Home | Main Index | Thread Index | Old Index