[MPICH] test/mpi/comm/cmfree.c

Rajeev Thakur thakur at mcs.anl.gov
Thu Jul 12 17:21:42 CDT 2007


Good catch. MPI_Comm_free is collective, so it must be called by everyone.
Just adding it to the else statements doesn't work because the communicator
is used there after MPI_Comm_split, which is also collective. And you can't
interleave collectives. 

We will fix it somehow or remove the test.

Rajeev
 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Toon Knapen
> Sent: Thursday, July 12, 2007 6:51 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] test/mpi/comm/cmfree.c
> 
> Hi all,
> 
> IMO test/mpi/comm/cmfree.c in mpich2-1.0.5p4 there is one 
> MPI_Comm_free 
> missing.
> 
> On line 29, there is a `MPI_Comm_dup(MPI_COMM_WORLD,&comm)`. 
> However the 
> comm that gets created here is only freed if 'rank == dest' 
> on line 54. 
> In all ranks that are not equal to 'dest', the communicator 
> is never freed.
> 
> Of course, this is not an error (just a leak) but wanted to 
> let you know 
> nevertheless,
> 
> toon
> 
> 




More information about the mpich-discuss mailing list