From: "Agarwal, Abhishek" <Abhishek.Agarwal(a)nortelgov.com>
Subject: [MPICH2 Req #2347] Catching signals inside a MPI program
Date: Fri, 24 Feb 2006 15:16:42 -0500
> Hello Rajeev,
>
> First of all thank you for your previous response. I was able to run MPICH2
> properly.
>
> I am having a very different problem and this is little hard to explain. I am
> trying to create processes using MPI_Spawn the programs works fine in a
> master-worker mode. But when i kill one of the process using kill -9 my
> MPI_Waitany is still waiting to recv data. I can see that the exception is
> being caught and diplays the following message on the screen.
>
> "rank 0 in job 237 n18_55972 caused collective abort of all ranks
> exit status of rank 0: killed by signal 9 "
>
> When I am trying to catch this exception withing my code it doesnt catch that
> and just keeps waiting for ever to receive data from worker. Is there a flag
> which i should set so that the signals can be caught inside the programs
> also.
Currently the MPD process manager, in an effort to prevent dangling
processes when one process dies unexpectedly (without calling
MPI_Finalize), kills the other processes in the job and sends you the
above message. We are working on a more fault-tolerant approach in
which dying processes cause error codes to be returned (or exceptions to
be thrown) from MPI communication routines. We are still a ways away
from this yet.
Regards,
Rusty Lusk