Bug 580781
| Summary: | schema modify during schema reload task causes deadlock | ||
|---|---|---|---|
| Product: | [Retired] 389 | Reporter: | Rich Megginson <rmeggins> |
| Component: | Schema | Assignee: | Rich Megginson <rmeggins> |
| Status: | CLOSED DUPLICATE | QA Contact: | Chandrasekar Kannan <ckannan> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 1.2.6 | CC: | benl |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-04-09 15:18:24 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 434914, 543590 | ||
*** This bug has been marked as a duplicate of bug 528567 *** |
I'm not sure about the ordering - but if a schema reload task and a schema modify happen at the same time, the server will deadlock: The cn=schema modify stack: #0 0x0000003db240aee9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003dc4a22ffd in PR_WaitCondVar () from /usr/lib64/libnspr4.so #2 0x0000003dc4a13ff2 in PR_RWLock_Rlock () from /usr/lib64/libnspr4.so #3 0x00002b7ae3b06d18 in slapi_be_Rlock (be=0x88cd120) at ../ds.git/ldap/servers/slapd/backend_manager.c:436 #4 0x00002b7ae3b412b4 in mtn_get_be (target_node=0x8993c00, pb=0x896d530, be=0x56eefe48, index=0x56eefe78, referral=0x56eefe40, errorbuf=0x56ef0650 "") at ../ds.git/ldap/servers/slapd/mapping_tree.c:2571 #5 0x00002b7ae3b3fbd8 in slapi_mtn_get_first_be (node_list=0x8993c00, node=0x56eefe58, pb=0x896d530, be=0x56eefe48, be_index=0x56eefe78, referral=0x56eefe40, errorbuf=0x56ef0650 "", scope=0) at ../ds.git/ldap/servers/slapd/mapping_tree.c:1744 #6 0x00002b7ae3b40530 in slapi_mapping_tree_select_all (pb=0x896d530, be_list=0x56ef0220, referral_list=0x56eeff00, errorbuf=0x56ef0650 "") at ../ds.git/ldap/servers/slapd/mapping_tree.c:2116 #7 0x00002b7ae3b4a12b in op_shared_search (pb=0x896d530, send_result=1) at ../ds.git/ldap/servers/slapd/opshared.c:392 #8 0x00002b7ae3b58d4d in search_internal_callback_pb (pb=0x896d530, callback_data=0x56ef4b50, prc=0x2b7ae3b5880b <internal_plugin_result_callback>, psec=0x2b7ae3b5870b <internal_plugin_search_entry_callback>, prec=0x2b7ae3b5878b <internal_plugin_search_referral_callback>) at ../ds.git/ldap/servers/slapd/plugin_internal_op.c:761 #9 0x00002b7ae3b588e0 in search_internal_pb (pb=0x896d530) at ../ds.git/ldap/servers/slapd/plugin_internal_op.c:611 #10 0x00002b7ae3b58677 in slapi_search_internal_pb (pb=0x896d530) at ../ds.git/ldap/servers/slapd/plugin_internal_op.c:515 #11 0x00002b7ae3b590e7 in slapi_search_internal_get_entry (dn=0x88d5ab0, attrs=0x0, ret_entry=0x56ef4cd8, component_identity=0x89d4870) at ../ds.git/ldap/servers/slapd/plugin_internal_op.c:891 #12 0x00002b7ae7d039c1 in mep_pre_op (pb=0x2aaaac1711d0, modop=4) at ../ds.git/ldap/servers/plugins/mep/mep.c:1667 #13 0x00002b7ae7d03cf4 in mep_mod_pre_op (pb=0x2aaaac1711d0) at ../ds.git/ldap/servers/plugins/mep/mep.c:1781 #14 0x00002b7ae3b54647 in plugin_call_func (list=0x89e07e0, operation=405, pb=0x2aaaac1711d0, call_one=0) at ../ds.git/ldap/servers/slapd/plugin.c:1417 #15 0x00002b7ae3b54528 in plugin_call_list (list=0x89adcf0, operation=405, pb=0x2aaaac1711d0) at ../ds.git/ldap/servers/slapd/plugin.c:1379 #16 0x00002b7ae3b52b0b in plugin_call_plugins (pb=0x2aaaac1711d0, whichfunction=405) at ../ds.git/ldap/servers/slapd/plugin.c:372 #17 0x00002b7ae3b449f2 in op_shared_modify (pb=0x2aaaac1711d0, pw_change=0, old_pw=0x0) at ../ds.git/ldap/servers/slapd/modify.c:785 #18 0x00002b7ae3b43b3b in do_modify (pb=0x2aaaac1711d0) at ../ds.git/ldap/servers/slapd/modify.c:349 #19 0x0000000000413054 in connection_dispatch_operation (conn=0x2aaaaaaafb38, op=0x2aaaac18b9b0, pb=0x2aaaac1711d0) at ../ds.git/ldap/servers/slapd/connection.c:579 #20 0x00000000004146ca in connection_threadmain () at ../ds.git/ldap/servers/slapd/connection.c:2294 #21 0x0000003dc4a2867d in ?? () from /usr/lib64/libnspr4.so #22 0x0000003db240673d in start_thread () from /lib64/libpthread.so.0 #23 0x0000003db18d3d1d in clone () from /lib64/libc.so.6 The schema reload thread stack: #0 0x0000003db240aee9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x0000003dc4a22ffd in PR_WaitCondVar () from /usr/lib64/libnspr4.so #2 0x0000003dc4a13fa6 in PR_RWLock_Wlock () from /usr/lib64/libnspr4.so #3 0x00002b7ae3b06d36 in slapi_be_Wlock (be=0x88cd120) at ../ds.git/ldap/servers/slapd/backend_manager.c:442 #4 0x00002b7ae3b73a1a in slapi_reload_schema_files ( schemadir=0x2aaaac130740 "/var/tmp/tet/schemaDir") at ../ds.git/ldap/servers/slapd/schema.c:4927 #5 0x00002b7ae8d6afde in schemareload_thread (arg=0x2aaaac1a8e80) at ../ds.git/ldap/servers/plugins/schema_reload/schema_reload.c:154 #6 0x0000003dc4a2867d in ?? () from /usr/lib64/libnspr4.so #7 0x0000003db240673d in start_thread () from /lib64/libpthread.so.0 #8 0x0000003db18d3d1d in clone () from /lib64/libc.so.6