Its not really a good idea to mix active and passive synchronization (we
may actually explicitly forbid it in the future). You can remove the
calls to MPI_Win_fence () and still have correct synchronization. That
said, you did find a bug in my bad synchronization detection because
this is legal:
Gilles,
I downloaded and built openmpi-2.0.0rc2 and used that for the test. I get a
crash on more than 1 processor for the lock/unlock protocol with the error
message
[node005:29916] *** An error occurred in MPI_Win_lock
[node005:29916] *** reported by process [3736862721,6]
[node005:29916] ***