Hi,

In running this minimal program (test.c)

#include <stdlib.h>
#include <mpi.h>

int main (int argc, char ** argv) {
  MPI_Init(&argc, &argv);
  MPI_Finalize();

  exit(EXIT_FAILURE);
}

compiled and ran with the commands

mpicc test.c
mpirun -n 1 a.out

I get the output

--------------------------------------------------------------------------
mpirun noticed that the job aborted, but has no info as to the process
that caused that situation.
--------------------------------------------------------------------------

The return value of mpirun is 1 (presumably the value of EXIT_FAILURE) instead of the expected 0.
Citing the manual page of mpirun, "mpirun returns 0 if all ranks started by mpirun exit after calling MPI_FINALIZE." which should be the case in the program.

If EXIT_FAILURE is changed to EXIT_SUCCESS there is no output and mpirun returns 0 as expected.

My OpenMPI version is 1.5.4, the code and output from ompi_info --all is attached.

If it is relevant my OS is Fedora 16 and the packages installed are openmpi.i686 and openmpi-devel.i686, the code is ran at a single node with a single Intel atom processor. I have also ensured that no calls to MPI_Init or MPI_Finalize have been optimized out by the compiler.