[petsc-dev] What to do when it's hopeless?

Matthew Knepley knepley at gmail.com
Thu May 13 10:49:07 CDT 2010


I believe this is an ugly workaround for the terrible behavior of
MPI_Abort()
in some early implementations. Is this still the case?

   Matt

On Thu, May 13, 2010 at 11:48 AM, Jed Brown <jed at 59a2.org> wrote:

> I'm concerned by the following which appears in
> PetscAttachDebuggerErrorHandler() and Petsc_MPI_DebuggerOnError():
>
>  ierr = PetscAttachDebugger();
>  if (ierr) { /* hopeless so get out */
>    MPI_Finalize();
>    exit(*flag);
>  }
>
> Since the error handler is not guaranteed to be called collectively, it
> seems completely unreasonable to call a collective function, especially
> not one with broader scope than PETSC_COMM_WORLD.  It seems to me that
> the hopeless case should instead call MPI_Abort() on the relevant
> communicator.  Similarly, why does Petsc_MPI_AbortOnError() call abort()
> instead of MPI_Abort()?
>
> Jed
>



-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100513/41a579fd/attachment.html>


More information about the petsc-dev mailing list