[mpich-discuss] Stuck in MPI_Comm_disconnect

Rajeev Thakur thakur at mcs.anl.gov
Fri Nov 25 20:16:55 CST 2011


You may want to try a simpler version of your code that has a small (known) number of sends and receives and see if Comm_disconnect succeeds in that case.

Rajeev

On Nov 24, 2011, at 4:20 PM, Eric Hui wrote:

> Hi,
>  
> I have a master-worker program where both the master and the worker use 3 MPI_Requests in a loop.  2 of them are used in MPI_Send_Init and MPI_Recv_Init and the other one is used for MPI_Isend.  There is a loop in a separate thread that keeps calling MPI_Start for the MPI_Request used for MPI_Recv_Init  and MPI_Waitsome for the incoming messages.
>  
> At the end of my code, I believed that I have already cleaned up my MPI_Request properly by using the following:
>  
>    if (SendRequest != MPI_REQUEST_NULL)
>    {
>       MPI_Cancel (&SendRequest);
>    }
>  
>    if (SendHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Send_Init
>    {
>       MPI_Request_free (&SendHeaderRequest);
>    }
>  
>    if (ReceiveHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Recv_Init
>    {
>       MPI_Request_free (&ReceiveHeaderRequest);
>    }
>  
> I have output to show that these functions are already called and succeeded.
>  
> After this code, I call MPI_Comm_disconnect, so that I can call MPI_Finalize exit the worker process without exiting the master.
>  
> However, it’s stuck in the MPI_Comm_disconnect call.  Are there functions that allow me to check what are the outstanding operations on the MPI_Comm?
>  
> Eric Hui
> GGY AXIS
> 416-2503448
> Eric.Hui at ggy.com
>  
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss



More information about the mpich-discuss mailing list