[389-users] Fwd: 389 v1.2.9.8 freeze/deadlock

Rich Megginson rmeggins at redhat.com
Thu Sep 1 14:20:08 UTC 2011


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 at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/389-users




More information about the 389-users mailing list