Oops... I misread the documentation. It is stated that for fortran, "The
status argument must be declared as an array of size MPI_STATUS_SIZE, as in
Since I declared the fortran status with "MPI_Fint f_status;", their isn't
enough room for storing the status.
On Friday 18 November 2011 15:12:07 François Trahay wrote:
> I have a C+Fortran program that seems to crash due to OpenMPI
> implementation of MPI_Status_c2f. When my program calls this function, a
> memory corruption happens.
> Here's a test program that reproduce the bug. It allocates and fills a
> buffer, call MPI_Status_c2f (using a valid status) and print the buffer.
> Before calling MPI_Status_c2f, the buffer contains (0,1,2,...31). After the
> function call, it contains(x, x, ...20, 21, 22, ...31)
> From this example, it seems that the first 80 bytes (20 integers) of this
> buffer get corrupted.
> I tried this program with open mpi 1.4.3, 1.4.4 and the latest nightly
> snapshot (openmpi-1.7a1r25487) and they all have the same bug.
> Any idea to solve this problem ?
> Francois Trahay