The return code is expected and the man page is incomplete. This was an intended change in behavior to more accurately report the outcome of a job.
On Feb 19, 2012, at 11:08 PM, Truls Edvard Stokke wrote: > Hi Ralph, thank you for answering. > > So for clarity, > - the return code is expected and there is a bug in the man page, > - the warning is supposed to be printed in the event that a program exits > with a non-zero exit status even if it calls MPI_Finalize before it does so. > > Please correct me if either of those aren't really the case. > > When running the code with an older version of OpenMPI (1.4.3) there is no > warning. > If it is relevant there is no warning when running it with MPICH2. > > Is the warning an intended change from 1.4.x to 1.5.x or is it likely that my > installation of OpenMPI is configured incorrectly? > > On Mon, Feb 20, 2012 at 4:53 AM, Ralph Castain <r...@open-mpi.org> wrote: > If your program returns an error status (i.e., a non-zero exit status), then > mpirun passes that along to you so any script you are using can know that > something failed. > > > On Feb 19, 2012, at 7:41 PM, Truls Edvard Stokke wrote: > > > 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. > > <ompi_info_output.txt><test.c>_______________________________________________ > > users mailing list > > us...@open-mpi.org > > http://www.open-mpi.org/mailman/listinfo.cgi/users > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users