Description: Memory leak in MPI_Allreduce when using a repeatedly created and freed MPI_Datatype
Bug-Origin: https://github.com/open-mpi/ompi/issues/8827
Author: Yossi Itigin
Last-Updated: 2021-05-10
Forwarded: not-needed

Index: openmpi-4.1.0/ompi/mca/pml/ucx/pml_ucx_datatype.c
===================================================================
--- openmpi-4.1.0.orig/ompi/mca/pml/ucx/pml_ucx_datatype.c
+++ openmpi-4.1.0/ompi/mca/pml/ucx/pml_ucx_datatype.c
@@ -222,6 +222,7 @@ ucp_datatype_t mca_pml_ucx_init_datatype
         ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1);
     }
 
+ out:
     /* Add custom attribute, to clean up UCX resources when OMPI datatype is
      * released.
      */
@@ -238,7 +239,6 @@ ucp_datatype_t mca_pml_ucx_init_datatype
             ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1);
         }
     }
-out:
     PML_UCX_VERBOSE(7, "created generic UCX datatype 0x%"PRIx64, ucp_datatype)
 
 #ifdef HAVE_UCP_REQUEST_PARAM_T
