Open MPI errors in Win_fence() when the assertion contains both MPI_MODE_NOPRECEDE and MPI_MODE_NOSUCCEED
Could you explain me why the following code is wrong? Please note that the fence call with assertion !=0 is issued before and after fence calls with assertion=0, and I'm not making any modification to the local window, nor issuing any RMA call. My understanding of MPI RMA operations is quite limited, but I would say that my code is valid and should not fail. [dalcinl@kw2060 openmpi]$ cat win_fence.c #include <mpi.h> int main(int argc, char *argv[]) { MPI_Win win; MPI_Init(&argc, &argv); MPI_Win_create(MPI_BOTTOM, 0, 1, MPI_INFO_NULL, MPI_COMM_SELF, &win); MPI_Win_fence(0, win); MPI_Win_fence(MPI_MODE_NOSTORE|MPI_MODE_NOPUT|MPI_MODE_NOPRECEDE|MPI_MODE_NOSUCCEED, win); MPI_Win_fence(0, win); MPI_Finalize(); return 0; } [dalcinl@kw2060 openmpi]$ mpicc win_fence.c [dalcinl@kw2060 openmpi]$ ./a.out [kw2060:19890] *** An error occurred in MPI_Win_fence [kw2060:19890] *** reported by process [140737129086977,0] [kw2060:19890] *** on win rdma window 3 [kw2060:19890] *** MPI_ERR_ASSERT: invalid assert argument [kw2060:19890] *** MPI_ERRORS_ARE_FATAL (processes in this win will now abort, [kw2060:19890] *** and potentially your MPI job) [dalcinl@kw2060 openmpi]$ -- 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