Repository navigation
DAOS-12829 cart: Fix epi ASSERTs when untracking - #11645
Merged
Merged
Conversation
Commit 53d66d7 might have introduced the following "epi != NULL" assertion failure in crt_context_req_untrack. #0 raise () from /usr/lib64/libc.so.6 #1 abort () from /usr/lib64/libc.so.6 #2 __assert_fail_base.cold.0 () from /usr/lib64/libc.so.6 #3 __assert_fail () from /usr/lib64/libc.so.6 #4 crt_context_req_untrack (rpc_priv=rpc_priv@entry=0x55a254b83150) at src/cart/crt_context.c:1358 crt_ctx = 0x55a25465f500 epi = 0x0 submit_list = {next = 0x0, prev = 0x4} tmp_rpc = <optimized out> rc = <optimized out> __func__ = "crt_context_req_untrack" __PRETTY_FUNCTION__ = "crt_context_req_untrack" #5 crt_hg_req_send_cb (hg_cbinfo=<optimized out>) at src/cart/crt_hg.c:1287 rpc_pub = <optimized out> rpc_priv = <optimized out> hg_ret = HG_SUCCESS rc = 0 __func__ = "crt_hg_req_send_cb" __PRETTY_FUNCTION__ = "crt_hg_req_send_cb" __rc = <optimized out> The RPC might be an outgoing URI_LOOKUP request, which we don't track. Hence its crp_epi field was NULL as expected. Commit 53d66d7 should have asserted "epi != NULL" _after_ making sure that the RPC is not an URI_LOOKUP request. This patch does that and removes a few useless lines from crt_context_req_untrack_internal. Test-tag: pr dynamic_server_pool OSAOfflineExtend NvmePoolExtend Signed-off-by: Li Wei <wei.g.li@intel.com> Required-githooks: true
|
Bug-tracker data: |
daosbuild1
reviewed
Mar 8, 2023
daosbuild1
left a comment
Collaborator
There was a problem hiding this comment.
LGTM. No errors found by checkpatch.
frostedcmos
approved these changes
Mar 8, 2023
liw
marked this pull request as ready for review
March 9, 2023 02:17
liuxuezhao
approved these changes
Mar 9, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit 53d66d7 might have introduced the following "epi != NULL" assertion failure in crt_context_req_untrack.
The RPC might be an outgoing URI_LOOKUP request, which we don't track. Hence its crp_epi field was NULL as expected. Commit 53d66d7 should have asserted "epi != NULL" after making sure that the RPC is not an URI_LOOKUP request. This patch does that and removes a few useless lines from crt_context_req_untrack_internal.
Test-tag: pr dynamic_server_pool OSAOfflineExtend NvmePoolExtend
Required-githooks: true
Before requesting gatekeeper:
Features:(orTest-tag*) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: