Closed
Description
Thank you for taking the time to submit an issue!
Background information
This bug was submitted to Debian, for Armel (Little-endian Arm 32 bit).
Original issue is : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902041
What version of Open MPI are you using? (e.g., v1.10.3, v2.1.0, git branch name and hash, etc.)
3.1.0
For dependency versions, see the full build log here: https://buildd.debian.org/status/fetch.php?pkg=openmpi&arch=armel&ver=3.1.0-7&stamp=1528563191&raw=0
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
Standard build on Debian; no arm-specific patches (one for arch64, not relevant here);
Please describe the system on which you are running
Debian 10 (sid).
4.9.0-6-armmp-lpae #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) armv7l GNU/Linux
Details of the problem
Random hangs.
#include <iostream>
#include <mpi.h>
int main(int argc, char** argv)
{
MPI_Init(&argc, &argv);
int rank, size;
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
for (int j = 0; j < 1024; ++j) {
std::cout << "j = " << j << std::endl;
MPI_Request req[2];
const char out[4] = {1, 2, 3, 4};
char in[4];
int dest = (rank + 1) % size;
int source = (size + rank - 1) % size;
MPI_Isend(out, 4, MPI_BYTE, dest, 0, MPI_COMM_WORLD, &req[0]);
MPI_Irecv(in, 4, MPI_BYTE, source, 0, MPI_COMM_WORLD, &req[1]);
MPI_Waitall(2, req, MPI_STATUSES_IGNORE);
}
MPI_Finalize();
return 0;
}