Handle leak warning with cancelled request in 3.1.1
Please look at the Python code at the end. It is basically an Issend() to self of a zero-size message followed by a Cancel() on the request. The cancellation seems succeed after querying the request, then I proceed to free the request. However, when running the code, I get the following warning at finalization: $ python req_cancel.py cancelled: free request In direct memory block for handle type REQUEST, 1 handles are still allocated I think this is a regression, previous MPICH 3.1 do not print this warning. PS: I hope it is OK to post Python code here. If you really hate it, please let me know. from mpi4py import MPI comm = MPI.COMM_SELF request = comm.Issend([None, 0, MPI.BYTE], 0, 123) status = MPI.Status() comm.Probe(MPI.ANY_SOURCE, MPI.ANY_TAG, status) assert status.source == 0 assert status.tag == 123 request.Cancel() assert request != MPI.REQUEST_NULL status = MPI.Status() request.Get_status(status) cancelled = status.Is_cancelled() if cancelled: print "cancelled: free request" request.Free() else: print "not cancelled: recv & wait" comm.Recv([None, 0, MPI.BYTE], comm.rank, 123) request.Wait() -- Lisandro Dalcin --------------- CIMEC (UNL/CONICET) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1016) Tel/Fax: +54-342-4511169
participants (1)
-
Lisandro Dalcin