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