Skip to content

Commit 6fe0a73

Browse files
author
Sergey Oblomov
committed
PML/UCX: fixed ucp request free on persistent request completion
- in sine cases persistent request was deleted during completion callback, this cause double free of linked UCX request (assert in debug build or hang in release build) - UCX request is freed prior completion calback Signed-off-by: Sergey Oblomov <sergeyo@mellanox.com>
1 parent e172849 commit 6fe0a73

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

ompi/mca/pml/ucx/pml_ucx_request.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ mca_pml_ucx_persistent_request_complete(mca_pml_ucx_persistent_request_t *preq,
8585
ompi_request_t *tmp_req)
8686
{
8787
preq->ompi.req_status = tmp_req->req_status;
88-
ompi_request_complete(&preq->ompi, true);
89-
mca_pml_ucx_persistent_request_detach(preq, tmp_req);
9088
mca_pml_ucx_request_reset(tmp_req);
89+
mca_pml_ucx_persistent_request_detach(preq, tmp_req);
9190
ucp_request_free(tmp_req);
91+
ompi_request_complete(&preq->ompi, true);
9292
}
9393

9494
static inline void mca_pml_ucx_preq_completion(ompi_request_t *tmp_req)

0 commit comments

Comments
 (0)