I think you have to admit that 

[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 
-pc_type ilu
[0]PETSC ERROR: --------------------- Error Message 
------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:10:42 2010
[0]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
Killed (signal 9)

  I s a much better message than 


[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 
-pc_type ilu
[0]PETSC ERROR: --------------------- Error Message 
------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[0]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[1]PETSC ERROR: --------------------- Error Message 
------------------------------------
[1]PETSC ERROR: Argument out of range!
[1]PETSC ERROR: Partition in y direction is too fine! 4 5!
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[1]PETSC ERROR: See docs/changes/index.html for recent updates.
[1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[1]PETSC ERROR: See docs/index.html for manual pages.
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[1]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[1]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[1]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[1]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[1]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[1]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[1]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[cli_1]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[2]PETSC ERROR: --------------------- Error Message 
------------------------------------
[2]PETSC ERROR: Argument out of range!
[2]PETSC ERROR: Partition in y direction is too fine! 4 5!
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[2]PETSC ERROR: See docs/changes/index.html for recent updates.
[2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[2]PETSC ERROR: See docs/index.html for manual pages.
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[2]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[2]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[2]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[2]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[2]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[2]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[2]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[cli_2]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[4]PETSC ERROR: --------------------- Error Message 
------------------------------------
[4]PETSC ERROR: Argument out of range!
[4]PETSC ERROR: Partition in y direction is too fine! 4 5!
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[4]PETSC ERROR: See docs/changes/index.html for recent updates.
[4]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[4]PETSC ERROR: See docs/index.html for manual pages.
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[4]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[4]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[4]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[4]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[4]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[4]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[4]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[cli_4]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[3]PETSC ERROR: --------------------- Error Message 
------------------------------------
[3]PETSC ERROR: Argument out of range!
[3]PETSC ERROR: Partition in y direction is too fine! 4 5!
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[3]PETSC ERROR: See docs/changes/index.html for recent updates.
[3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[3]PETSC ERROR: See docs/index.html for manual pages.
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[3]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[3]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[3]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[3]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[3]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[3]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[3]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3
[cli_3]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3

[bsmith-laptop:snes/examples/tutorials] barrysmith% petscmpiexec -n 5 ./ex19 
-pc_type ilu
[0]PETSC ERROR: --------------------- Error Message 
------------------------------------
[0]PETSC ERROR: Argument out of range!
[0]PETSC ERROR: Partition in y direction is too fine! 4 5!
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[0]PETSC ERROR: See docs/changes/index.html for recent updates.
[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[0]PETSC ERROR: See docs/index.html for manual pages.
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[0]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[0]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[0]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[0]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[0]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[0]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[0]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[0]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[cli_0]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 0
[1]PETSC ERROR: --------------------- Error Message 
------------------------------------
[1]PETSC ERROR: Argument out of range!
[1]PETSC ERROR: Partition in y direction is too fine! 4 5!
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[1]PETSC ERROR: See docs/changes/index.html for recent updates.
[1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[1]PETSC ERROR: See docs/index.html for manual pages.
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[1]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[1]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[1]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[1]PETSC ERROR: 
------------------------------------------------------------------------
[1]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[1]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[1]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[1]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[1]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[1]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[cli_1]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 1
[2]PETSC ERROR: --------------------- Error Message 
------------------------------------
[2]PETSC ERROR: Argument out of range!
[2]PETSC ERROR: Partition in y direction is too fine! 4 5!
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[2]PETSC ERROR: See docs/changes/index.html for recent updates.
[2]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[2]PETSC ERROR: See docs/index.html for manual pages.
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[2]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[2]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[2]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[2]PETSC ERROR: 
------------------------------------------------------------------------
[2]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[2]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[2]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[2]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[2]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[2]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[cli_2]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 2
[4]PETSC ERROR: --------------------- Error Message 
------------------------------------
[4]PETSC ERROR: Argument out of range!
[4]PETSC ERROR: Partition in y direction is too fine! 4 5!
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[4]PETSC ERROR: See docs/changes/index.html for recent updates.
[4]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[4]PETSC ERROR: See docs/index.html for manual pages.
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[4]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[4]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[4]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[4]PETSC ERROR: 
------------------------------------------------------------------------
[4]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[4]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[4]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[4]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[4]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[4]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[cli_4]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 4
[3]PETSC ERROR: --------------------- Error Message 
------------------------------------
[3]PETSC ERROR: Argument out of range!
[3]PETSC ERROR: Partition in y direction is too fine! 4 5!
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: Petsc Development HG revision: 
c1b45858b86e4eb019634112f9645ee58d756dfa HG Date: Thu May 06 11:15:08 2010 -0500
[3]PETSC ERROR: See docs/changes/index.html for recent updates.
[3]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
[3]PETSC ERROR: See docs/index.html for manual pages.
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: ./ex19 on a arch-gnu named anlextwls002-207.wl.anl-external.org 
by barrysmith Fri May  7 15:05:55 2010
[3]PETSC ERROR: Libraries linked from 
/Users/barrysmith/Src/petsc-dev/arch-gnu/lib
[3]PETSC ERROR: Configure run at Thu May  6 12:52:19 2010
[3]PETSC ERROR: Configure options --download-scalapack --download-mpich 
--download-parmetis --download-mumps PETSC_ARCH=arch-gnu 
--download-superlu_dist --download-hypre --download-blacs --with-fc="gfortran 
-m64"
[3]PETSC ERROR: 
------------------------------------------------------------------------
[3]PETSC ERROR: DACreate_2D() line 1342 in src/dm/da/src/da2.c
[3]PETSC ERROR: DASetType() line 48 in src/dm/da/src/dareg.c
[3]PETSC ERROR: DASetTypeFromOptions_Private() line 65 in 
src/dm/da/src/dacreate.c
[3]PETSC ERROR: DASetFromOptions() line 131 in src/dm/da/src/dacreate.c
[3]PETSC ERROR: DACreate2d() line 1847 in src/dm/da/src/da2.c
[3]PETSC ERROR: main() line 107 in src/snes/examples/tutorials/ex19.c
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3
[cli_3]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 63) - process 3

x
On May 7, 2010, at 1:24 PM, Barry Smith wrote:

> 
> On May 7, 2010, at 1:04 PM, Matthew Knepley wrote:
> 
>> On Thu, May 6, 2010 at 10:16 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>> 
>>   I'd like to add a MPI_Comm as the first argument to PetscError() and 
>> friends.
>> 
>>   In this way, if the same error is known over all the communicator ranks it 
>> can print just one nice error message and stack instead of spewing out many 
>> of the same messages all over the place.
>> 
>>   Does anyone object to this?
>> 
>> I am just worried that it will introduce deadlocks. If an error occurs on 
>> only one process
>> and not another (like a NaN), but we use the entire communicator, we can get 
>> deadlock
>> on the error message which will be very confusing.
> 
>    The idea is that by default we would pass in PETSC_COMM_SELF. Only when we 
> KNOW 100% that ALL ranks in a process WILL FOR ABSOLUTE sure generate the 
> same error would be pass the entire comm to SETERRQ() For example, if the 
> user has set an invalid PC type etc. So a process generating a NAN would use 
> only a PETSC_COMM_SELF in the SETERRQ().
> 
>    You are right that there is a chance when totally bizarre shit happens 
> that rank 1 of a comm calls SETERRQ() but rank 0 does not; then no 
> appropriate error message will be printed. I don't see a way to totally avoid 
> this chance. So we can
> 
> 1) ignore this chance and make the change and see what happens
> 2) leave things the same as they are now.
> 
>    Even if it turns out we cannot have only rank 0 of the SETERRQ() print the 
> message because bizarre shit happens too often, I think conceptually it is 
> the right thing to do to pass in the MPI_Comm over which the error happens. 
> So I'd like to make the chance and we can always take out the control over 
> printing by rank 0 if it is a problem (i.e. the default error handles could 
> ignore the comm).
> 
>    I'm going to try this and see if I can work out the kinks before pushing.
> 
>> Is there a nice MPI way of checking
>> whether everyone is present, and if not then just use the current method?
> 
>    No, absolutely not since that would require communication with everyone 
> who may not be there.
> 
>    Barry
> 
>> 
>>    Matt
>>  
>>   It does mean for each SETERRQXXX() we call we need to select the correct 
>> comm that is passed in. I will do all that, worst case just use 
>> MPI_COMM_SELF for some and get the same effect as today.
>> 
>>   Barry
>> -- 
>> 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/20100507/558e0b49/attachment.html>

Reply via email to