[mpich-discuss] MPI process killed and SIGUSR1

Lu, Huiwei huiweilu at mcs.anl.gov
Tue Oct 28 08:11:03 CDT 2014


Hi, Hirak,

Your client is connecting using an empty portname. You should use the same portname published by the server to connect.

—
Huiwei

> On Oct 27, 2014, at 6:52 AM, Roy, Hirak <Hirak_Roy at mentor.com> wrote:
> 
> Hi Wesley,
>  
> Here is my server.c and client.c.
> I have explicitly added ‘assert(0);’ in client.c.
> However my receive hangs in server and does not complete.
>  
> Could you please enlighten on this more.
>  
> Thanks,
> Hirak
>  
>  
> #include <sys/types.h>
> #include <unistd.h>
> #include "mpi.h"
> #include <stdio.h>
> #include <assert.h>
> #include <stdlib.h>
> #include <fcntl.h>
>  
>  
> int main (int argc, char* argv[])
> {
>  
>   MPI_Init (&argc, &argv);
>   MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_RETURN);
>   
>   char portname[MPI_MAX_PORT_NAME];
>   MPI_Open_port(MPI_INFO_NULL, portname);
>   MPI_Publish_name("RandomSession", MPI_INFO_NULL, portname);
>   printf ("Successfully published portname : %s\n", portname);
>   MPI_Comm newComm ;
>   MPI_Comm_accept (portname, MPI_INFO_NULL, 0, MPI_COMM_SELF, &newComm);
>   printf ("Successfully connected to client\n");
>   MPI_Errhandler_set(newComm, MPI_ERRORS_RETURN);
>   
>   printf ("Waiting on receive\n");
>   int val = 0 ;
>   MPI_Status status;
>   int errcode = MPI_Recv(&val, 1, MPI_INT, 0, 99, newComm, &status);
>   int errclass ;
>   MPI_Error_class(errcode, &errclass);
>   if (errclass == MPI_SUCCESS) {
>     printf ("Received a message with tag 99\n");
>     MPI_Comm_disconnect (&newComm);
>     printf ("Disconnected client\n");
>   } else {
>     printf ("Receive error\n");
>   }
>  
>  
>   MPI_Unpublish_name("RandomSession", MPI_INFO_NULL, portname);
>   MPI_Close_port(portname);
>   MPI_Finalize();
>  
> }
>  
>  
> #include <sys/types.h>
> #include <unistd.h>
> #include "mpi.h"
> #include <stdio.h>
> #include <assert.h>
> #include <stdlib.h>
> #include <fcntl.h>
>  
>  
> int main (int argc, char* argv[])
> {
>   MPI_Init (&argc, &argv);
>   MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_RETURN);
>   
>   char portname[MPI_MAX_PORT_NAME];
>   if (MPI_Lookup_name("RandomSession", MPI_INFO_NULL, portname) == MPI_SUCCESS) {
>     printf ("Successfully got portname : %s\n", portname);
>     MPI_Comm newComm ;
>     MPI_Comm_connect (portname, MPI_INFO_NULL, 0, MPI_COMM_SELF, &newComm);
>     printf ("Successfully connected to server\n");
>     MPI_Errhandler_set(newComm, MPI_ERRORS_RETURN);
>       
>     assert (0);
>     int val = 0 ;
>     MPI_Send(&val, 1, MPI_INT, 0, 99, newComm);
>     printf ("Send a message with tag 99\n");
>     MPI_Comm_disconnect (&newComm);
>     printf ("Disconnected client\n");
>   }
>   MPI_Finalize();
> }
> MPICH Version:        3.0.4
> MPICH Release date:   Wed Apr 24 10:08:10 CDT 2013
> MPICH Device:         ch3:sock
> MPICH configure:      --prefix /home/jlevitt/local/mpich-3.0.4/linux_x86_64 --disable-f77 --disable-fc --disable-f90modules --disable-cxx --enable-fast=nochkmsg --enable-fast=notiming --enable-fast=ndebug --enable-fast=O3 --with-device=ch3:sock CFLAGS=-O3 -fPIC CXXFLAGS=-O3 -fPIC
> MPICH CC: /u/prod/gnu/gcc/20121129/gcc-4.5.0-linux_x86_64/bin/gcc -O3 -fPIC   -O3
> MPICH CXX:      no -O3 -fPIC
> MPICH F77:      no  
> MPICH FC: no  
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list