Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Memory corruption due to MPI_Status_c2f
From: François Trahay (francois.trahay_at_[hidden])
Date: 2011-11-18 11:38:06


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
integer status(MPI_STATUS_SIZE)"

Since I declared the fortran status with "MPI_Fint f_status;", their isn't
enough room for storing the status.

Francois Trahay

On Friday 18 November 2011 15:12:07 François Trahay wrote:
> Hi,
> 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