Hi,
I ran the following code:
char port_name[MPI_MAX_PORT_NAME];
int status;
MPI_Init( &argc, &argv );
status = MPI_Lookup_name("MPI_SERVER1", MPI_INFO_NULL, port_name);
if (status != MPI_SUCCESS) {
printf("****** MPI Server not up yet. \n");
}
Since MPI_SERVER1 is not published, I expect the error
message to be printed. Indeed, it is printed, but from a
crash:
pan_at_scalable-quality% mpirun -np 1 client
MPI_Lookup_name: publishing service: name is not published (rank 0,
MPI_COMM_WORLD)
Rank (0, MPI_COMM_WORLD): Call stack within LAM:
Rank (0, MPI_COMM_WORLD): - MPI_Lookup_name()
Rank (0, MPI_COMM_WORLD): - main()
-----------------------------------------------------------------------------
One of the processes started by mpirun has exited with a nonzero exit
What made the process crash with correct error message?
What is wrong with my way of using MPI_Lookup_name?
In order to use MPI dynamic processes, do I need to build LAM
with a special option?
Your prompt help is very much appreciated!
Thanks,
-Lei
|