[Mvapich-discuss] Segmentation fault if MPI_Finalize is called without freeing objects with attributes attached

Simon Byrne simonbyrne at gmail.com
Sat Dec 31 13:26:10 EST 2022


!-------------------------------------------------------------------|
  This Message Is From an External Sender
  This message came from outside your organization.
|-------------------------------------------------------------------!

If an object (e.g. MPI_Datatype) with attributes attached is not freed
before calling MPI_Finalize, then a segmentation fault is triggered.

The following program reproduces the problem on Ookami with MVAPICH2
Version 2.3.6.

#include <mpi.h>
#include <stdlib.h>

int main(int argc, char** argv) {
    // Initialize the MPI environment
    MPI_Init(NULL, NULL);

    MPI_Datatype dup_type;
    MPI_Type_dup(MPI_UINT32_T, &dup_type);

    MPI_Type_commit(&dup_type);

    int keyval;
    MPI_Type_create_keyval(MPI_TYPE_NULL_COPY_FN,
                           MPI_TYPE_NULL_DELETE_FN,
                           &keyval, NULL);

    MPI_Type_set_attr(dup_type, keyval, NULL);

    MPI_Finalize();
    return 0;
}

See discussion on
https://urldefense.com/v3/__https://github.com/JuliaParallel/MPI.jl/issues/684*issuecomment-1358070525__;Iw!!KGKeukY!yamad_6dnm-uGgH45v9frkx3NJg0yxwtmWlIYc-u7-K8DblbvFe5wdnANzwOTI3xrh985GBilSdojykR5yRk5i92L7KGtw$ 
for more details.

Thanks,
Simon



More information about the Mvapich-discuss mailing list