Call MPI_Abort() with an informative error code


#include <petscsys.h>
PETSCABORT(MPI_Comm comm, PetscErrorCode ierr)

Collective; No Fortran Support

Input Parameters#

  • comm - A communicator, so that the error can be collective

  • ierr - nonzero error code, see the list of standard error codes in include/petscerror.h


If the option -start_in_debugger was used then this calls abort() to stop the program in the debugger.

if PetscCIEnabledPortableErrorOutput is set, which means the code is running in the PETSc test harness (make test), and comm is MPI_COMM_WORLD it strives to exit cleanly without calling MPI_Abort() and instead calling MPI_Finalize().

This is currently only used when an error propagates up to the C main() program and is detected by a PetscCall(), PetscCallMPI(), or is set in main() with SETERRQ(). Abort calls such as SETERRABORT(), PetscCheckAbort(), PetscCallMPIAbort(), and PetscCallAbort() always call MPI_Abort() and do not have any special handling for the test harness.

Developer Note#

Should the other abort calls also pass through this call instead of calling MPI_Abort() directly?

See Also#

PetscError(), PetscCall(), SETERRABORT(), PetscCheckAbort(), PetscCallMPIAbort(), PetscCall(), PetscCallMPI(), PetscCallAbort(), MPI_Abort()





Edit on GitLab

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages