A backend daemon using openldap was frequently halted, The problem was finally located at an openldap function ldap_simple_bind_s. Below is a trace back of the running system: #0 0x00a0c7a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x004e0b24 in poll () from /lib/tls/libc.so.6 #2 0x00ab8128 in ldap_int_select (ld=0x1, timeout=0x0) at os-ip.c:983 #3 0x00aa7f5f in wait4msg (ld=0x8f0a2c0, msgid=21, all=1, timeout=0x0, result=0x36fc1c4) at result.c:355 #4 0x00aa7b32 in ldap_result (ld=0x8f0a2c0, msgid=21, all=1, timeout=0x0, result=0x36fc1c4) at result.c:127 #5 0x00aad5d2 in ldap_sasl_bind_s (ld=0x8f0a2c0, dn=0x36fc260 "uid=chenming,domain=vip.eyou.net,o=vip.eyou.net", mechanism=0x0, cred=0x36fc208, sctrls=0x0, cctrls=0x0, servercredp=0x0) at sasl.c:194 #6 0x00aadc74 in ldap_simple_bind_s (ld=0x8f0a2c0, dn=0x36fc260 "uid=chenming,domain=vip.eyou.net,o=vip.eyou.net", passwd=0x36fca4a "") at sbind.c:113 #7 0x003ab2b0 in eyou_db_alias_auth (pdbh=0x36fd3a8, uid=0x8efd8a0 "chenming", domain=0x8efd8c1 "vip.eyou.net", password=0x36fca40 "xxxxxxxxx", alias=0x36fc5c0 "") at ldap/eyou_db.c:153 #8 0x003ab1ae in eyou_db_real_auth (dh=0x36fd3a8, uid=0x8efd8a0 "chenming", domain=0x8efd8c1 "vip.eyou.net", password=0x36fca40 "xxxxxxxxx", realuid=0x36fc5c0 "", realdomain=0x36fc570 "") at ldap/eyou_db.c:123 #9 0x003c7669 in get_user_info_by_ldap (uid=0x8efd8a0 "chenming", domain=0x8efd8c1 "vip.eyou.net", userinfo=0x8efbd18, edbh=0x36fd3a8, password=0x36fca40 "xxxxxxxxx") at utils/user_info.c:559 #10 0x003c5cd9 in get_user_info (edbh=0x36fd3a8, uid=0x8efd8a0 "chenming", domain=0x8efd8c1 "vip.eyou.net", password=0x36fca40 "xxxxxxxxx", userinfo=0x8efbd18) at utils/user_info.c:160 #11 0x003a18da in user_validate (edbh=0x36fd3a8, uid=0x8efd8a0 "chenming", domain=0x8efd8c1 "vip.eyou.net", pass=0x36fca40 "chenkane1", userinfo=0x8efbd18) at utils/user_validate.c:61 #12 0x0804b6f2 in pop3_pass (arg=0x36fce80 "xxxxxxxxx", fun_arg=0x8efd8a0) at pop3_protocol.c:363 #13 0x0804d41a in new_commands (eio_fp=0x8f15cb8, tls_start=0, ssl=0x0, c=0x36fd2e0, fun_arg=0x8efd8a0) at commands.c:63 #14 0x0804ad94 in eyou_pop3 (eyou_db_hander=0x36fd3a8, eyou_socket_hander=0x8eff7e8) at pop3d.c:138 #15 0x08050470 in net_deliver (arg=0x8eef300) at gaea/deliver.c:219 #16 0x00b873cc in start_thread () from /lib/tls/libpthread.so.0 #17 0x004ea96e in clone () from /lib/tls/libc.so.6
The problem may be in the lines with red marked, However, this should not cause the program be halted。
Can i resolve the problem by set a timeout with openldap ?And how to do ?