#47508 automembership rebuild task can hang server
Closed: wontfix None Opened 10 years ago by mreynolds.

Thread 33 (Thread 0x7ff017fff700 (LWP 6572)):
#0  0x00007ff037105575 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib64/libpthread.so.0
#1  0x00007ff031c9af63 in __db_hybrid_mutex_suspend () from /usr/lib64/libdb-5.3.so
#2  0x00007ff031c9a440 in __db_tas_mutex_lock () from /usr/lib64/libdb-5.3.so
#3  0x00007ff031d3f85a in __lock_get_internal () from /usr/lib64/libdb-5.3.so
#4  0x00007ff031d40460 in __lock_get () from /usr/lib64/libdb-5.3.so
#5  0x00007ff031d6ac2a in __db_lget () from /usr/lib64/libdb-5.3.so
#6  0x00007ff031cb74f4 in __bam_search () from /usr/lib64/libdb-5.3.so
#7  0x00007ff031ca2996 in __bamc_search () from /usr/lib64/libdb-5.3.so
#8  0x00007ff031ca43af in __bamc_get () from /usr/lib64/libdb-5.3.so
#9  0x00007ff031d57ff6 in __dbc_iget () from /usr/lib64/libdb-5.3.so
#10 0x00007ff031d66704 in __dbc_get_pp () from /usr/lib64/libdb-5.3.so
#11 0x00007ff02debf2a0 in idl_new_fetch (be=0x7ff03b61f550, db=<optimized out>, inkey=0x7ff017fed180, txn=0x0, a=0x7ff03b6dbaa0, flag_err=0x7ff017ff3dec, 
    allidslimit=100000) at ldap/servers/slapd/back-ldbm/idl_new.c:231
#12 0x00007ff02debef2d in idl_fetch_ext (be=be@entry=0x7ff03b61f550, db=<optimized out>, key=key@entry=0x7ff017fed180, txn=txn@entry=0x0, a=<optimized out>, 
    err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/idl_shim.c:130
#13 0x00007ff02decce3c in index_read_ext_allids (be=be@entry=0x7ff03b61f550, type=type@entry=0x7ff03b7bdc80 "member", 
    indextype=indextype@entry=0x7ff02df0d05b "eq", val=<optimized out>, txn=txn@entry=0x7ff017ff1420, err=err@entry=0x7ff017ff3dec, 
    unindexed=unindexed@entry=0x7ff017ff1414, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/index.c:1023
#14 0x00007ff02deb8354 in keys2idl (be=be@entry=0x7ff03b61f550, type=0x7ff03b7bdc80 "member", indextype=indextype@entry=0x7ff02df0d05b "eq", 
    ivals=<optimized out>, err=err@entry=0x7ff017ff3dec, unindexed=unindexed@entry=0x7ff017ff1414, txn=txn@entry=0x7ff017ff1420, 
    allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:964
#15 0x00007ff02deb8a73 in ava_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, f=f@entry=0x7ff03b9dc760, ftype=<optimized out>, 
    err=0x7ff017ff3dec, allidslimit=100000, range=0, nextf=0x0) at ldap/servers/slapd/back-ldbm/filterindex.c:316
#16 0x00007ff02deb910d in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=f@entry=0x7ff03b9dc760, nextf=nextf@entry=0x0, 
    range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:139
#17 0x00007ff02deb9feb in list_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", flist=flist@entry=0x7ff03b9dc8d0, ftype=<optimized out>, 
    err=0x7ff017ff3dec, allidslimit=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:805
#18 0x00007ff02deb8fdb in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=f@entry=0x7ff03b9dc8d0, nextf=nextf@entry=0x0, 
    range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:172
#19 0x00007ff02deb9feb in list_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", flist=flist@entry=0x7ff03b9dc9f0, ftype=<optimized out>, 
    err=0x7ff017ff3dec, allidslimit=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:805
#20 0x00007ff02deb8fdb in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=0x7ff03b9dc9f0, nextf=nextf@entry=0x0, 
    range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=100000, allidslimit@entry=0) at ldap/servers/slapd/back-ldbm/filterindex.c:172
#21 0x00007ff02deba4ca in filter_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, 
    base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=<optimized out>, nextf=nextf@entry=0x0, 
    range=range@entry=0, err=err@entry=0x7ff017ff3dec) at ldap/servers/slapd/back-ldbm/filterindex.c:203
#22 0x00007ff02def0384 in onelevel_candidates (err=0x7ff017ff3dec, lookup_returned_allidsp=0x7ff017ff3ddc, managedsait=<optimized out>, filter=<optimized out>, 
    e=0x7ff03b7a93a0, base=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", be=0x7ff03b61f550, pb=0x7ff03b9dc300)
    at ldap/servers/slapd/back-ldbm/ldbm_search.c:1116
#23 build_candidate_list (candidates=0x7ff017ff3e18, lookup_returned_allidsp=0x7ff017ff3ddc, scope=<optimized out>, 
    base=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", e=<optimized out>, be=0x7ff03b61f550, pb=0x7ff03b9dc300)
    at ldap/servers/slapd/back-ldbm/ldbm_search.c:983
#24 ldbm_back_search (pb=0x7ff03b9dc300) at ldap/servers/slapd/back-ldbm/ldbm_search.c:661
#25 0x00007ff039165590 in op_shared_search (pb=pb@entry=0x7ff03b9dc300, send_result=send_result@entry=1) at ldap/servers/slapd/opshared.c:803
#26 0x00007ff0391727ae in search_internal_callback_pb (pb=0x7ff03b9dc300, callback_data=<optimized out>, prc=0x0, 
    psec=0x7ff02c14f570 <backend_shr_note_entry_sdn_cb>, prec=0x0) at ldap/servers/slapd/plugin_internal_op.c:812
#27 0x00007ff02c1511a1 in backend_shr_update_references_cb () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#28 0x00007ff02c15ce3f in map_data_foreach_map () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#29 0x00007ff02c14f41b in backend_shr_update_references () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#30 0x00007ff02c1502ba in backend_shr_add_cb.part.14 () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#31 0x00007ff02c1503d1 in backend_shr_betxn_post_add_cb () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so
#32 0x00007ff03916e7d5 in plugin_call_func (list=0x7ff03b4ee850, operation=operation@entry=560, pb=pb@entry=0x7ff03b9e9780, call_one=call_one@entry=0)
    at ldap/servers/slapd/plugin.c:1453
#33 0x00007ff03916e93a in plugin_call_list (pb=0x7ff03b9e9780, operation=560, list=<optimized out>) at ldap/servers/slapd/plugin.c:1415
#34 plugin_call_plugins (pb=pb@entry=0x7ff03b9e9780, whichfunction=whichfunction@entry=560) at ldap/servers/slapd/plugin.c:398
#35 0x00007ff0391333ea in dse_add (pb=0x7ff03b9e9780) at ldap/servers/slapd/dse.c:2235
#36 0x00007ff03911ee4a in op_shared_add (pb=pb@entry=0x7ff03b9e9780) at ldap/servers/slapd/add.c:735
#37 0x00007ff039120108 in do_add (pb=0x7ff03b9e9780) at ldap/servers/slapd/add.c:258
#38 0x00007ff03962cd98 in connection_dispatch_operation (pb=<optimized out>, op=0x7ff03b9e9a30, conn=0x7ff024cf82f0) at ldap/servers/slapd/connection.c:582
#39 connection_threadmain () at ldap/servers/slapd/connection.c:2348
#40 0x00007ff03775feb1 in _pt_root () from /usr/lib64/libnspr4.so
#41 0x00007ff037101c53 in start_thread () from /usr/lib64/libpthread.so.0
#42 0x00007ff036e2ed3d in clone () from /usr/lib64/libc.so.6

IPA's schema-compat plugin is in the mix. Not sure if it is related yet or not.

To reproduce:

1. Install FreeIPA server:
# ipa-server-install

2. Authenticate as admin:
# kinit admin

3. Add a hostgroup:
# ipa hostgroup-add --desc="Web Servers" webservers

4. Add a host:
# ipa host-add web1.example.com --force

5. Add an automember rule:
# ipa automember-add --type=hostgroup webservers
# ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-regex=^web[1-9]+\.example\.com webservers

6. Verify that automember rule works by adding a new host:
# ipa host-add web2.example.com --force
# ipa hostgroup-show webservers
  Host-group: webservers
  Description: Web Servers
  Member hosts: web2.example.com

7. Try to rebuild membership:
# cat rebuild.ldif 
dn: cn=rt,cn=automember rebuild membership,cn=tasks,cn=config
changetype: add
objectClass: top
objectClass: extensibleObject
cn: rt
basedn: cn=computers,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com
filter: (fqdn=*)
scope: sub

# ldapmodify -x -D 'cn=directory manager' -w password -f rebuild.ldif
adding new entry "cn=rt,cn=automember rebuild membership,cn=tasks,cn=config"
< hangs >

This appears to be a race condition with schema-compat plugin. There are two threads 33 and 2. In thread 2 we take the backend serial lock in ldbm_back_modify(). Then thread 33 takes the map_wrlock() when adding the automember rebuild task, then thread 2 tries to take the map_rdlock(), and its blocked by thread 33. But thread 33 is waiting on the backend serial lock that thread 2 holds, and we deadlock. {{{ Thread 33 (Thread 0x7ff017fff700 (LWP 6572)): #0 0x00007ff037105575 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib64/libpthread.so.0 #1 0x00007ff031c9af63 in __db_hybrid_mutex_suspend () from /usr/lib64/libdb-5.3.so #2 0x00007ff031c9a440 in __db_tas_mutex_lock () from /usr/lib64/libdb-5.3.so #3 0x00007ff031d3f85a in __lock_get_internal () from /usr/lib64/libdb-5.3.so #4 0x00007ff031d40460 in __lock_get () from /usr/lib64/libdb-5.3.so #5 0x00007ff031d6ac2a in __db_lget () from /usr/lib64/libdb-5.3.so #6 0x00007ff031cb74f4 in __bam_search () from /usr/lib64/libdb-5.3.so #7 0x00007ff031ca2996 in __bamc_search () from /usr/lib64/libdb-5.3.so #8 0x00007ff031ca43af in __bamc_get () from /usr/lib64/libdb-5.3.so #9 0x00007ff031d57ff6 in __dbc_iget () from /usr/lib64/libdb-5.3.so #10 0x00007ff031d66704 in __dbc_get_pp () from /usr/lib64/libdb-5.3.so #11 0x00007ff02debf2a0 in idl_new_fetch (be=0x7ff03b61f550, db=<optimized out>, inkey=0x7ff017fed180, txn=0x0, a=0x7ff03b6dbaa0, flag_err=0x7ff017ff3dec, allidslimit=100000) at ldap/servers/slapd/back-ldbm/idl_new.c:231 #12 0x00007ff02debef2d in idl_fetch_ext (be=be@entry=0x7ff03b61f550, db=<optimized out>, key=key@entry=0x7ff017fed180, txn=txn@entry=0x0, a=<optimized out>, err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/idl_shim.c:130 #13 0x00007ff02decce3c in index_read_ext_allids (be=be@entry=0x7ff03b61f550, type=type@entry=0x7ff03b7bdc80 "member", indextype=indextype@entry=0x7ff02df0d05b "eq", val=<optimized out>, txn=txn@entry=0x7ff017ff1420, err=err@entry=0x7ff017ff3dec, unindexed=unindexed@entry=0x7ff017ff1414, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/index.c:1023 #14 0x00007ff02deb8354 in keys2idl (be=be@entry=0x7ff03b61f550, type=0x7ff03b7bdc80 "member", indextype=indextype@entry=0x7ff02df0d05b "eq", ivals=<optimized out>, err=err@entry=0x7ff017ff3dec, unindexed=unindexed@entry=0x7ff017ff1414, txn=txn@entry=0x7ff017ff1420, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:964 #15 0x00007ff02deb8a73 in ava_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, f=f@entry=0x7ff03b9dc760, ftype=<optimized out>, err=0x7ff017ff3dec, allidslimit=100000, range=0, nextf=0x0) at ldap/servers/slapd/back-ldbm/filterindex.c:316 #16 0x00007ff02deb910d in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=f@entry=0x7ff03b9dc760, nextf=nextf@entry=0x0, range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:139 #17 0x00007ff02deb9feb in list_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", flist=flist@entry=0x7ff03b9dc8d0, ftype=<optimized out>, err=0x7ff017ff3dec, allidslimit=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:805 #18 0x00007ff02deb8fdb in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=f@entry=0x7ff03b9dc8d0, nextf=nextf@entry=0x0, range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=allidslimit@entry=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:172 #19 0x00007ff02deb9feb in list_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", flist=flist@entry=0x7ff03b9dc9f0, ftype=<optimized out>, err=0x7ff017ff3dec, allidslimit=100000) at ldap/servers/slapd/back-ldbm/filterindex.c:805 #20 0x00007ff02deb8fdb in filter_candidates_ext (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=0x7ff03b9dc9f0, nextf=nextf@entry=0x0, range=range@entry=0, err=err@entry=0x7ff017ff3dec, allidslimit=100000, allidslimit@entry=0) at ldap/servers/slapd/back-ldbm/filterindex.c:172 #21 0x00007ff02deba4ca in filter_candidates (pb=pb@entry=0x7ff03b9dc300, be=be@entry=0x7ff03b61f550, base=base@entry=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", f=<optimized out>, nextf=nextf@entry=0x0, range=range@entry=0, err=err@entry=0x7ff017ff3dec) at ldap/servers/slapd/back-ldbm/filterindex.c:203 #22 0x00007ff02def0384 in onelevel_candidates (err=0x7ff017ff3dec, lookup_returned_allidsp=0x7ff017ff3ddc, managedsait=<optimized out>, filter=<optimized out>, e=0x7ff03b7a93a0, base=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", be=0x7ff03b61f550, pb=0x7ff03b9dc300) at ldap/servers/slapd/back-ldbm/ldbm_search.c:1116 #23 build_candidate_list (candidates=0x7ff017ff3e18, lookup_returned_allidsp=0x7ff017ff3ddc, scope=<optimized out>, base=0x7ff03b9e6030 "cn=groups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", e=<optimized out>, be=0x7ff03b61f550, pb=0x7ff03b9dc300) at ldap/servers/slapd/back-ldbm/ldbm_search.c:983 #24 ldbm_back_search (pb=0x7ff03b9dc300) at ldap/servers/slapd/back-ldbm/ldbm_search.c:661 #25 0x00007ff039165590 in op_shared_search (pb=pb@entry=0x7ff03b9dc300, send_result=send_result@entry=1) at ldap/servers/slapd/opshared.c:803 #26 0x00007ff0391727ae in search_internal_callback_pb (pb=0x7ff03b9dc300, callback_data=<optimized out>, prc=0x0, psec=0x7ff02c14f570 <backend_shr_note_entry_sdn_cb>, prec=0x0) at ldap/servers/slapd/plugin_internal_op.c:812 #27 0x00007ff02c1511a1 in backend_shr_update_references_cb () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #28 0x00007ff02c15ce3f in map_data_foreach_map () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #29 0x00007ff02c14f41b in backend_shr_update_references () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #30 0x00007ff02c1502ba in backend_shr_add_cb.part.14 () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #31 0x00007ff02c1503d1 in backend_shr_betxn_post_add_cb () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #32 0x00007ff03916e7d5 in plugin_call_func (list=0x7ff03b4ee850, operation=operation@entry=560, pb=pb@entry=0x7ff03b9e9780, call_one=call_one@entry=0) at ldap/servers/slapd/plugin.c:1453 #33 0x00007ff03916e93a in plugin_call_list (pb=0x7ff03b9e9780, operation=560, list=<optimized out>) at ldap/servers/slapd/plugin.c:1415 #34 plugin_call_plugins (pb=pb@entry=0x7ff03b9e9780, whichfunction=whichfunction@entry=560) at ldap/servers/slapd/plugin.c:398 #35 0x00007ff0391333ea in dse_add (pb=0x7ff03b9e9780) at ldap/servers/slapd/dse.c:2235 #36 0x00007ff03911ee4a in op_shared_add (pb=pb@entry=0x7ff03b9e9780) at ldap/servers/slapd/add.c:735 #37 0x00007ff039120108 in do_add (pb=0x7ff03b9e9780) at ldap/servers/slapd/add.c:258 #38 0x00007ff03962cd98 in connection_dispatch_operation (pb=<optimized out>, op=0x7ff03b9e9a30, conn=0x7ff024cf82f0) at ldap/servers/slapd/connection.c:582 #39 connection_threadmain () at ldap/servers/slapd/connection.c:2348 #40 0x00007ff03775feb1 in _pt_root () from /usr/lib64/libnspr4.so #41 0x00007ff037101c53 in start_thread () from /usr/lib64/libpthread.so.0 #42 0x00007ff036e2ed3d in clone () from /usr/lib64/libc.so.6 Thread 2 (Thread 0x7feffbfff700 (LWP 6804)): #0 0x00007ff037104cb4 in pthread_rwlock_rdlock () from /usr/lib64/libpthread.so.0 #1 0x00007ff02c14e468 in backend_search_cb () from /usr/lib64/dirsrv/plugins/schemacompat-plugin.so #2 0x00007ff03916e7d5 in plugin_call_func (list=0x7ff03b4ed2b0, operation=operation@entry=403, pb=pb@entry=0x7ff0200119a0, call_one=call_one@entry=0) at ldap/servers/slapd/plugin.c:1453 #3 0x00007ff03916e93a in plugin_call_list (pb=0x7ff0200119a0, operation=403, list=<optimized out>) at ldap/servers/slapd/plugin.c:1415 #4 plugin_call_plugins (pb=pb@entry=0x7ff0200119a0, whichfunction=whichfunction@entry=403) at ldap/servers/slapd/plugin.c:398 #5 0x00007ff039165216 in op_shared_search (pb=pb@entry=0x7ff0200119a0, send_result=send_result@entry=1) at ldap/servers/slapd/opshared.c:565 #6 0x00007ff0391727ae in search_internal_callback_pb (pb=pb@entry=0x7ff0200119a0, callback_data=callback_data@entry=0x7feffbffc460, prc=prc@entry=0x7ff039171a00 <internal_plugin_result_callback>, psec=psec@entry=0x7ff039171a50 <internal_plugin_search_entry_callback>, prec=prec@entry=0x7ff039171a10 <internal_plugin_search_referral_callback>) at ldap/servers/slapd/plugin_internal_op.c:812 #7 0x00007ff0391729d8 in search_internal_pb (pb=pb@entry=0x7ff0200119a0) at ldap/servers/slapd/plugin_internal_op.c:665 #8 0x00007ff039172c23 in slapi_search_internal_pb (pb=pb@entry=0x7ff0200119a0) at ldap/servers/slapd/plugin_internal_op.c:574 #9 0x00007ff039172d75 in slapi_search_internal_get_entry (dn=dn@entry=0x7ff020010400, attrs=0x7ff0200104a0, ret_entry=ret_entry@entry=0x7feffbffc588, component_identity=0x7ff03b4bf7b0) at ldap/servers/slapd/plugin_internal_op.c:948 #10 0x00007ff02d5df763 in memberof_modop_one_replace_r (pb=pb@entry=0x7ff020003f60, config=config@entry=0x7feffbffc710, mod_op=mod_op@entry=0, group_sdn=group_sdn@entry=0x7ff020005c80, op_this_sdn=op_this_sdn@entry=0x7ff020005c80, replace_with_sdn=replace_with_sdn@entry=0x0, op_to_sdn=0x7ff020010400, stack=stack@entry=0x0) at ldap/servers/plugins/memberof/memberof.c:1143 #11 0x00007ff02d5e0392 in memberof_modop_one_r (stack=0x0, op_to_sdn=<optimized out>, op_this_sdn=0x7ff020005c80, group_sdn=0x7ff020005c80, mod_op=0, config=0x7feffbffc710, pb=0x7ff020003f60) at ldap/servers/plugins/memberof/memberof.c:1093 #12 memberof_modop_one (op_to_sdn=<optimized out>, op_this_sdn=0x7ff020005c80, mod_op=0, config=0x7feffbffc710, pb=0x7ff020003f60) at ldap/servers/plugins/memberof/memberof.c:1080 #13 memberof_mod_smod_list (pb=pb@entry=0x7ff020003f60, config=config@entry=0x7feffbffc710, mod=mod@entry=0, group_sdn=group_sdn@entry=0x7ff020005c80, smod=smod@entry=0x7ff02000fcb0) at ldap/servers/plugins/memberof/memberof.c:1462 #14 0x00007ff02d5e1243 in memberof_add_smod_list (smod=0x7ff02000fcb0, group_sdn=0x7ff020005c80, config=0x7feffbffc710, pb=0x7ff020003f60) at ldap/servers/plugins/memberof/memberof.c:1483 #15 memberof_postop_modify (pb=0x7ff020003f60) at ldap/servers/plugins/memberof/memberof.c:879 #16 0x00007ff03916e7d5 in plugin_call_func (list=0x7ff03b4c0030, operation=operation@entry=561, pb=pb@entry=0x7ff020003f60, call_one=call_one@entry=0) at ldap/servers/slapd/plugin.c:1453 #17 0x00007ff03916e93a in plugin_call_list (pb=0x7ff020003f60, operation=561, list=<optimized out>) at ldap/servers/slapd/plugin.c:1415 #18 plugin_call_plugins (pb=pb@entry=0x7ff020003f60, whichfunction=whichfunction@entry=561) at ldap/servers/slapd/plugin.c:398 #19 0x00007ff02dee9f5e in ldbm_back_modify (pb=<optimized out>) at ldap/servers/slapd/back-ldbm/ldbm_modify.c:743 #20 0x00007ff03915efc6 in op_shared_modify (pb=pb@entry=0x7ff020003f60, pw_change=pw_change@entry=0, old_pw=0x0) at ldap/servers/slapd/modify.c:1072 #21 0x00007ff03915fa94 in modify_internal_pb (pb=pb@entry=0x7ff020003f60) at ldap/servers/slapd/modify.c:627 #22 0x00007ff0391605a3 in slapi_modify_internal_pb (pb=pb@entry=0x7ff020003f60) at ldap/servers/slapd/modify.c:482 #23 0x00007ff0303ba59d in automember_add_member_value (member_e=member_e@entry=0x7ff020008950, group_dn=0x7ff03b941590 "cn=webservers,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=eng,dc=brq,dc=redhat,dc=com", grouping_attr=grouping_attr@entry=0x7ff03b975e20 "member", grouping_value=grouping_value@entry=0x7ff03b943140 "dn", ldif_fd=ldif_fd@entry=0x0) at ldap/servers/plugins/automember/automember.c:1643 #24 0x00007ff0303ba9f5 in automember_update_membership (config=config@entry=0x7ff03b975770, e=<optimized out>, ldif_fd=ldif_fd@entry=0x0) at ldap/servers/plugins/automember/automember.c:1565 #25 0x00007ff0303bb111 in automember_rebuild_task_thread (arg=0x7ff03b9d8c40) at ldap/servers/plugins/automember/automember.c:2198 #26 0x00007ff03775feb1 in _pt_root () from /usr/lib64/libnspr4.so #27 0x00007ff037101c53 in start_thread () from /usr/lib64/libpthread.so.0 #28 0x00007ff036e2ed3d in clone () from /usr/lib64/libc.so.6 }}}

The automember rebuild task was being performed outside a transaction, and it appears this is the cause of the deadlock. linked attribute plugin also does its fixup task outside a transaction. Still testing...

Hang still occurs with automember task being done in a txn.

This turned out to be a problem in slapi-nis, not in 389 DS. Closing this ticket.

Metadata Update from @mreynolds:
- Issue assigned to mreynolds
- Issue set to the milestone: N/A

7 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/845

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Invalid)

3 years ago

Login to comment on this ticket.

Metadata