Hi Rich, The same test in 1.2.8.3 is ok, the important information being that it is also a paged search. here is the log for the same search for 1.2.8.3 (i'm in the process of rolling back to that version): [01/Sep/2011:16:19:39 +0200] conn=5 op=2 fd=128 closed - U1 [01/Sep/2011:16:19:41 +0200] conn=6 fd=128 slot=128 connection from 129.104.31.63 to 129.104.69.49 [01/Sep/2011:16:19:41 +0200] conn=6 op=0 BIND dn="" method=128 version=3 [01/Sep/2011:16:19:41 +0200] conn=6 op=0 RESULT err=0 tag=97 nentries=0 etime=0.017000 dn="" [01/Sep/2011:16:19:41 +0200] conn=6 op=1 SRCH base="ou=etudiants,ou=utilisateurs,dc=id,dc=polytechnique,dc=edu" scope=2 filter="(&(mail=*)(|(mail=le tallec*)(cn=le tallec*)(sn=le tallec*)(givenName=le tallec*)(displayName=le tallec*)))" attrs="cn cn mail roleOccupant display-name displayName sn sn co o o givenName legacyexchangedn objectClass uid mailnickname title company physicalDeliveryOfficeName telephoneNumber" [01/Sep/2011:16:19:41 +0200] conn=6 op=1 SORT cn (1) [01/Sep/2011:16:19:41 +0200] conn=6 op=1 RESULT err=0 tag=101 nentries=0 etime=0.021000 notes=P [01/Sep/2011:16:19:41 +0200] conn=6 op=2 UNBIND [01/Sep/2011:16:19:41 +0200] conn=6 op=2 fd=128 closed - U1 How do i compile the server with debug symbols? This would be sufficient or not: export CFLAGS="-g" export CXXFLAGS="-g" ? @+ 2011/9/1 Rich Megginson <rmeggins@xxxxxxxxxx>: > On 09/01/2011 08:08 AM, Andrey Ivanov wrote: >> >> Hi, >> >> i've tried to install the 1.2.9.8 testing version in our production >> environment but there is a regular freeze/deadlock after a particular >> search. >> >> It is a search sent by outlook 2003 (you type the name of the person >> and then click "Check the name" button that generates an LDAP >> request). The person does not exist in the given subtree, here is the >> corresponding connection in the logs : >> >> [01/Sep/2011:13:42:34 +0200] conn=938 fd=129 slot=129 connection from >> x.x.x.x to y.y.y.y >> [01/Sep/2011:13:42:34 +0200] conn=938 op=0 BIND dn="" method=128 version=3 >> [01/Sep/2011:13:42:34 +0200] conn=938 op=0 RESULT err=0 tag=97 >> nentries=0 etime=0.000000 dn="" >> [01/Sep/2011:13:42:34 +0200] conn=938 op=1 SRCH >> base="ou=etudiants,ou=utilisateurs,dc=id,dc=polytechnique,dc=edu" >> scope=2 filter="(&(mail=*)(|(mail=le tallec*)(cn=le tallec*)(sn=le >> tallec*)(givenName=le tallec*)(displayName=le tallec*)))" attrs="cn cn >> mail roleOccupant display-name displayName sn sn co o o givenName >> legacyexchangedn objectClass uid mailnickname title company >> physicalDeliveryOfficeName telephoneNumber" >> [01/Sep/2011:13:42:34 +0200] conn=938 op=1 SORT cn (1) >> <end of access log, nothing in error log, server freezes> >> >> >> The problem is reproducible each time, here is the interesting part of >> the gdb trace : >> >> Thread 42 (Thread 0x42201940 (LWP 25005)): >> #0 0x00000038644cd722 in select () from /lib64/libc.so.6 >> No symbol table info available. >> #1 0x00002b8ffb1bf959 in DS_Sleep () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #2 0x00002b900104e51e in deadlock_threadmain () from >> /Local/dirsrv/lib/dirsrv/plugins/libback-ldbm.so >> No symbol table info available. >> #3 0x00000038670284ad in ?? () from /usr/lib64/libnspr4.so >> No symbol table info available. >> #4 0x000000386500673d in start_thread () from /lib64/libpthread.so.0 >> No symbol table info available. >> #5 0x00000038644d44bd in clone () from /lib64/libc.so.6 >> No symbol table info available. >> ... > > This is the database housekeeping thread that checks for database deadlocks. > This is normal. >> >> Thread 24 (Thread 0x4d613940 (LWP 25023)): >> #0 0x000000386500d4c4 in __lll_lock_wait () from /lib64/libpthread.so.0 >> No symbol table info available. >> #1 0x0000003865008e50 in _L_lock_1233 () from /lib64/libpthread.so.0 >> No symbol table info available. >> #2 0x0000003865008dd3 in pthread_mutex_lock () from >> /lib64/libpthread.so.0 >> No symbol table info available. >> #3 0x0000003867022ec9 in PR_Lock () from /usr/lib64/libnspr4.so >> No symbol table info available. >> #4 0x00002b8ffb18b308 in slapi_pblock_get () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #5 0x00002b8ffff8ac54 in DS_LASIpGetter () from >> /Local/dirsrv/lib/dirsrv/plugins/libacl-plugin.so >> No symbol table info available. >> #6 0x00002b90001bfb08 in ACL_GetAttribute () from >> /Local/dirsrv/lib/dirsrv/libns-dshttpd.so.0 >> No symbol table info available. >> #7 0x00002b90001be979 in LASIpEval () from >> /Local/dirsrv/lib/dirsrv/libns-dshttpd.so.0 >> No symbol table info available. >> #8 0x00002b90001c0c30 in ACLEvalAce(NSErr_s*, ACLEvalHandle*, >> ACLExprHandle*, unsigned long*, PListStruct_s**, PListStruct_s*) () >> from /Local/dirsrv/lib/dirsrv/libns-dshttpd.so.0 >> No symbol table info available. >> #9 0x00002b90001c11ce in ACL_INTEvalTestRights(NSErr_s*, >> ACLEvalHandle*, char**, char**, char**, char**, char**, int*, unsigned >> long*) () from /Local/dirsrv/lib/dirsrv/libns-dshttpd.so.0 >> No symbol table info available. >> #10 0x00002b90001c1956 in ACL_EvalTestRights () from >> /Local/dirsrv/lib/dirsrv/libns-dshttpd.so.0 >> No symbol table info available. >> #11 0x00002b8ffff7e223 in acl__TestRights () from >> /Local/dirsrv/lib/dirsrv/plugins/libacl-plugin.so >> No symbol table info available. >> #12 0x00002b8ffff813d6 in acl_access_allowed () from >> /Local/dirsrv/lib/dirsrv/plugins/libacl-plugin.so >> No symbol table info available. >> #13 0x00002b8ffff959a4 in acl_access_allowed_main () from >> /Local/dirsrv/lib/dirsrv/plugins/libacl-plugin.so >> No symbol table info available. >> #14 0x00002b8ffb192a61 in plugin_call_acl_plugin () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #15 0x00002b8ffb16247d in slapi_vattr_filter_test_ext_internal () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #16 0x00002b8ffb1622b8 in slapi_vattr_filter_test_ext_internal () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #17 0x00002b8ffb162544 in slapi_vattr_filter_test_ext () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #18 0x00002b900109010f in ldbm_back_next_search_entry_ext () from >> /Local/dirsrv/lib/dirsrv/plugins/libback-ldbm.so >> No symbol table info available. >> #19 0x00002b8ffb1868d1 in iterate () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #20 0x00002b8ffb187ce8 in op_shared_search () from >> /Local/dirsrv/lib/dirsrv/libslapd.so.0 >> No symbol table info available. >> #21 0x0000000000429c78 in do_search () >> No symbol table info available. >> #22 0x000000000041472f in connection_threadmain () >> No symbol table info available. >> #23 0x00000038670284ad in ?? () from /usr/lib64/libnspr4.so >> No symbol table info available. >> #24 0x000000386500673d in start_thread () from /lib64/libpthread.so.0 >> No symbol table info available. >> #25 0x00000038644d44bd in clone () from /lib64/libc.so.6 >> No symbol table info available. > > So it looks as though it is attempting to acquire the Connection mutex in > order to get the client IP address out of the Connection object, but it is > already locked. You must have ip or dns based ACIs. >> >> I'll try to install the debug symbols and reproduce the stack trace >> with symbol table after i roll back to our previous production version >> (1.2.8.3) > > Yes, please do. I would like to know what ACIs you have too. > > This is very similar to a problem reported by Anthony Messina who also uses > dns/ip based ACIs. >> >> @+ >> -- >> 389 users mailing list >> 389-users@xxxxxxxxxxxxxxxxxxxxxxx >> https://admin.fedoraproject.org/mailman/listinfo/389-users > > -- 389 users mailing list 389-users@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/389-users