FWIW: this now appears true for *any* case where a parent connects to more than one child - i.e., if a process calls connect-accept more than once (e.g., in loop_spawn)
This didn't used to be true, so something has changed in OMPI's underlying behavior. On May 26, 2014, at 11:27 PM, Gilles Gouaillardet <gilles.gouaillar...@gmail.com> wrote: > Folks, > > currently, the dynamic/intercomm_create test from the ibm test suite output > the following messages : > > dpm_base_disconnect_init: error -12 in isend to process 1 > > the root cause it task 0 tries to send messages to already exited tasks. > > one way of seeing things is that this is an application issue : > task 0 should have MPI_Comm_free'd all its communicator before calling > MPI_Comm_disconnect. > This can be achieved via the attached patch > > an other way of seeing things is that this is a bug in OpenMPI. > In this case, what would be the the right approach ? > - automatically free communicators (if needed) when MPI_Comm_disconnect is > invoked ? > - simply remove communicators (if needed) from ompi_mpi_communicators when > MPI_Comm_disconnect is invoked ? > /* this causes a memory leak, but the application can be seen as > responsible of it */ > - other ? > > Thanks in advance for your feedback, > > Gilles > <intercomm_create.patch>_______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/05/14847.php