Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: about dynamic/intercomm_create test from ibm test suite
From: Gilles Gouaillardet (gilles.gouaillardet_at_[hidden])
Date: 2014-05-28 10:55:31


Ralph,

what if ?

the parent :
MPI_Comm_free(&merged);
MPI_Comm_disconnect(&comm);

and the child
MPI_Comm_free(&merged);
MPI_Comm_disconnect(&parent);

Gilles

> Good point - however, that doesn't fix it. Changing the Comm_free calls to
> Comm_disconnect results in the same error messages when the parent
> finalizes:
>
> Parent:
> MPI_Init( &argc, &argv);
>
> for (iter = 0; iter < 100; ++iter) {
> MPI_Comm_spawn(EXE_TEST, NULL, 1, MPI_INFO_NULL,
> 0, MPI_COMM_WORLD, &comm, &err);
> printf("parent: MPI_Comm_spawn #%d return : %d\n", iter, err);
>
> MPI_Intercomm_merge(comm, 0, &merged);
> MPI_Comm_rank(merged, &rank);
> MPI_Comm_size(merged, &size);
> printf("parent: MPI_Comm_spawn #%d rank %d, size %d\n",
> iter, rank, size);
> MPI_Comm_disconnect(&merged);
> }
>
> MPI_Finalize();
>
>
> Child:
> MPI_Init(&argc, &argv);
> printf("Child: launch\n");
> MPI_Comm_get_parent(&parent);
> MPI_Intercomm_merge(parent, 1, &merged);
> MPI_Comm_rank(merged, &rank);
> MPI_Comm_size(merged, &size);
> printf("Child merged rank = %d, size = %d\n", rank, size);
>
>
> MPI_Comm_disconnect(&merged);
> MPI_Finalize();
>
>
>