Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[TESTS] SMPI/MPICH3: Fix failing rma test
authorChristian Heinrich <franz-christian.heinrich@inria.fr>
Wed, 24 Jan 2018 22:14:42 +0000 (23:14 +0100)
committerChristian Heinrich <franz-christian.heinrich@inria.fr>
Wed, 24 Jan 2018 22:14:42 +0000 (23:14 +0100)
This test only occurs with compile time optimizations on. See inline
comment for more details.

teshsuite/smpi/mpich3-test/rma/rget-testall.c

index 4f3eec2..dee88b3 100644 (file)
@@ -33,10 +33,19 @@ int main(int argc, char **argv)
 
     MPI_Win_allocate(2 * sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &baseptr, &win);
 
-    /* Initialize window buffer */
-    MPI_Win_lock(MPI_LOCK_EXCLUSIVE, rank, 0, win);
+    /* 
+     * TODO cheinrich: These assignments were originally after the MPI_Win_lock
+     * and before the MPI_Win_unlock call. However, with compile time optimizations on,
+     * this seems to cause issues with at least gcc. If valgrind or gcc is activated,
+     * everything works fine though.
+     *
+     * I don't know what causes these issues, but moving this here solves the problem for now.
+     */
     baseptr[0] = 1;
     baseptr[1] = 2;
+
+    /* Initialize window buffer */
+    MPI_Win_lock(MPI_LOCK_EXCLUSIVE, rank, 0, win);
     MPI_Win_unlock(rank, win);
 
     /* Issue request-based get with testall. */