Hi, 

I developped a launcher application : 
a MPI  application (say main_exe) lauches 2 MPI applications (say exe1 and 
exe2), using MPI_Comm_spawn_multiple.

Now, I'm looking at the behavior when an exe crashes.

What I can see is the following :
1) when everybody is launched, I see the followings processes, using 'ps' :
- the 'mpiexec -v -d -n 1 ./main_exe' command
- the orted server used for 'main_exe' (say 'orted1')
- main_exe
- the orted server used for 'exe1' and 'exe2' (say 'orted2')
- exe1
- exe2

2) I use kill -9 to 'crash' exe2

3) orted2 and exe1 finish.

4) with ps, I see it remains the following processes : mpiexec, 'orted1', 
main_exe

5) main_exe tries to send a message to exe1, using MPI_Bsend :
main_exe gets killed by a SIG_PIPE signal !!!!

So what I see is that when a part of an MPI application crashes, the whole 
application crashes !
Is there a way to get an other behavior ? For exemple, MPI_Bsend could return 
an error message.

A few additionnal informations : 
- I work on linux, with Open-MPI 1.1.1.
- I'm developping in C and C++.

Thanks, 
        Laurent.





Reply via email to