MPI_Status status; ... MPI_Recv( ..., status );is incorrect; it must be
MPI_Recv( ..., &status );This is also true for buffers, and is a common error when passing single element buffers. For example,
int value; ... MPI_Send( value, 1, MPI_INT, ... );is incorrect; it must be
MPI_Send( &value, 1, MPI_INT, ... );