Hi Folks,
I'm developing a driver for an LDAP server(OpenLdap
1.2.10). The driver functions are being called
from a multithreaded process with only 1 thread running. My LDAP functionality has no multi threading support as I have wrapped the functions with mutex locks. When I unit test the functions all is fine but when a process is kicked off from the Web front end it causes a core dump with a SIGCHILD. I am using the Netscape SDK(4.0)by the way. Below is a trace of the functionality being called before the crash courtesy of GDB. Any help will be greatly appreciated.
Regards
Jimmy
/* INTERNAL LIBRARY ROUTINES.
*/
--------->>>>> CRASH #0 0xeefa0580 in memcpy () from /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1 #1 0x15d78 in realloc () #2 0xef76f370 in thr_keycreate () from /usr/lib/libthread.so.1 #3 0xee33baf4 in __rpc_getconfip () from /usr/lib/libnsl.so.1 #4 0xee32f1e0 in gethostbyname_r () from /usr/lib/libnsl.so.1 #5 0xed69fb58 in nsldapi_connect_to_host () from /install/conexon/lib/libldapssl40.so #6 0xed69f7c4 in nsldapi_open_ldap_connection () from /install/conexon/lib/libldapssl40.so #7 0xed6a3bbc in nsldapi_new_connection () from /install/conexon/lib/libldapssl40.so #8 0xed69f8a4 in nsldapi_open_ldap_defconn () from /install/conexon/lib/libldapssl40.so #9 0xed6a3050 in nsldapi_send_server_request () from /install/conexon/lib/libldapssl40.so #10 0xed6a2cec in nsldapi_send_initial_request () from /install/conexon/lib/libldapssl40.so #11 0xed6a90ac in simple_bind_nolock () from /install/conexon/lib/libldapssl40.so #12 0xed6a90f8 in ldap_simple_bind_s () from /install/conexon/lib/libldapssl40.so /* MY CODE. */
#13 0xed7e4778 in BindToLdap (Details=0xedd045e0,
FunctionName=0xed7e7840 "CreateLDAPModem()") at LdapApi.c:537 #14 0xed7e4ac0 in CreateLDAPObj (Details=0xedd045e0) at LdapApi.c:707 #15 0xed7e492c in CreateCM (Details=0xedd045e0) at LdapApi.c:645 #16 0xed7e42d8 in PerformAction (Details=0xedd045e0) at LdapApi.c:419 #17 0xed7e41c0 in LdapBusinessInterface (Details=0xedd045e0) at LdapApi.c:350 #18 0xef71960c in AddModemRequest (psReq=0xedd01e98, psAPI=0xef7524b8, psDB=0x9e62c) at cable_modem.c:520 #19 0xef718a9c in ProcessModemRequest (psReq=0xedd01e98, pcDets=0xedd0996a "1\0346565\034ddddddddd\034\034\034\034Cable\034", lLen=26, psAPI=0xef7524b8, psDB=0x9e62c) at cable_modem.c:258 #20 0xef70c8f4 in ProcessRequest ( psCmd=0xedd09950 "15\0341\0341054283726\03410.0.1.30\0341\0346565\034ddddddddd\034\034\034\034Cable\034", lCmdLen=52, ppcResp=0xedd09510, plRespLen=0xedd09304, psDB=0x9e62c) at business.c:577 #21 0x13190 in WRB (Params=0x43ea4) at WRB.c:172 |