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(a)redhat.com>:
> 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(a)lists.fedoraproject.org
>>
https://admin.fedoraproject.org/mailman/listinfo/389-users
>