Yep, I saw both semi-colons but the client process hangs at:

  MPI_Comm_connect( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &server );

---John

On Sat, Apr 13, 2013 at 10:05 PM, Ralph Castain <r...@open-mpi.org> wrote:
> Did you see that there are two semi-colon's in that line? They both need to 
> be protected from the shell. I would just put quotes around the whole thing.
>
> Other than that, it looks okay to me...I assume you are using a 1.6 series 
> release?
>
> On Apr 13, 2013, at 4:54 PM, John Chludzinski <john.chludzin...@gmail.com> 
> wrote:
>
>> After I replaced ";" with "\;" in the server name I got passed the
>> ABORT problem.  Now the client and server deadlock until I finally get
>> (on the client side):
>>
>> mpirun noticed that the job aborted, but has no info as to the process
>> that caused that situation.
>> --------------------------------------------------------------------------
>> [jski:02429] [[59675,0],0] -> [[59187,0],0] (node: jski) oob-tcp:
>> Number of attempts to create TCP connection has been exceeded.  Cannot
>> communicate with peer.
>>
>> On Sat, Apr 13, 2013 at 7:24 PM, John Chludzinski
>> <john.chludzin...@gmail.com> wrote:
>>> Sorry: The previous post was intended for another group, ignore it.
>>>
>>> With regards to the client-server problem:
>>>
>>> $ mpirun -n 1 client
>>> 3878879232.0;tcp://192.168.1.4:37625+3878879233.0;tcp://192.168.1.4:38945:300
>>>
>>> [jski:01882] [[59199,1],0] ORTE_ERROR_LOG: Not found in file
>>> dpm_orte.c at line 158
>>> [jski:1882] *** An error occurred in MPI_Comm_connect
>>> [jski:1882] *** on communicator MPI_COMM_WORLD
>>> [jski:1882] *** MPI_ERR_INTERN: internal error
>>> [jski:1882] *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
>>> --------------------------------------------------------------------------
>>> mpirun has exited due to process rank 0 with PID 1882 on
>>> node jski exiting improperly. There are two reasons this could occur:
>>>
>>> 1. this process did not call "init" before exiting, but others in
>>> the job did. This can cause a job to hang indefinitely while it waits
>>> for all processes to call "init". By rule, if one process calls "init",
>>> then ALL processes must call "init" prior to termination.
>>>
>>> 2. this process called "init", but exited without calling "finalize".
>>> By rule, all processes that call "init" MUST call "finalize" prior to
>>> exiting or it will be considered an "abnormal termination"
>>>
>>> On Sat, Apr 13, 2013 at 7:16 PM, John Chludzinski
>>> <john.chludzin...@gmail.com> wrote:
>>>> After I "source mpi.ksk", PATH is unchanged but LD_LIBRARY_PATH is there:
>>>>
>>>>   $ print $LD_LIBRARY_PATH
>>>>   /usr/lib64/openmpi/lib/
>>>>
>>>> Why does PATH loose its change?
>>>>
>>>> ---John
>>>>
>>>>
>>>> On Sat, Apr 13, 2013 at 12:55 PM, Ralph Castain <r...@open-mpi.org> wrote:
>>>>> You need to pass in the port info that the server printed - just 
>>>>> copy/paste the line below "server available at".
>>>>>
>>>>> On Apr 12, 2013, at 10:58 PM, John Chludzinski 
>>>>> <john.chludzin...@gmail.com> wrote:
>>>>>
>>>>>> Found the following client-server example (code) on
>>>>>> http://www.mpi-forum.org and I'm trying to get it to work.  Not sure
>>>>>> what argv[1] should be for the client?  The output from the server
>>>>>> side is:
>>>>>>
>>>>>>      server available at
>>>>>> 4094230528.0;tcp://192.168.1.4:55803+4094230529.0;tcp://192.168.1.4:51618:300
>>>>>>
>>>>>>
>>>>>> // SERVER
>>>>>> #include <stdio.h>
>>>>>> #include <error.h>
>>>>>> #include <errno.h>
>>>>>> #include "mpi.h"
>>>>>>
>>>>>> #define MAX_DATA 100
>>>>>> #define FATAL 1
>>>>>>
>>>>>> int main( int argc, char **argv )
>>>>>> {
>>>>>> MPI_Comm client;
>>>>>> MPI_Status status;
>>>>>> char port_name[MPI_MAX_PORT_NAME];
>>>>>> double buf[MAX_DATA];
>>>>>> int size, again;
>>>>>>
>>>>>> MPI_Init( &argc, &argv );
>>>>>> MPI_Comm_size(MPI_COMM_WORLD, &size);
>>>>>> if (size != 1) error(FATAL, errno, "Server too big");
>>>>>> MPI_Open_port(MPI_INFO_NULL, port_name);
>>>>>> printf("server available at %s\n",port_name);
>>>>>>
>>>>>> while (1)
>>>>>>   {
>>>>>>     MPI_Comm_accept( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, 
>>>>>> &client );
>>>>>>     again = 1;
>>>>>>
>>>>>>     while (again)
>>>>>>       {
>>>>>>         MPI_Recv( buf, MAX_DATA, MPI_DOUBLE, MPI_ANY_SOURCE,
>>>>>> MPI_ANY_TAG, client, &status );
>>>>>>
>>>>>>         switch (status.MPI_TAG)
>>>>>>           {
>>>>>>           case 0: MPI_Comm_free( &client );
>>>>>>             MPI_Close_port(port_name);
>>>>>>             MPI_Finalize();
>>>>>>             return 0;
>>>>>>           case 1: MPI_Comm_disconnect( &client );
>>>>>>             again = 0;
>>>>>>             break;
>>>>>>           case 2: /* do something */
>>>>>>             fprintf( stderr, "Do something ...\n" );
>>>>>>           default:
>>>>>>             /* Unexpected message type */
>>>>>>             MPI_Abort( MPI_COMM_WORLD, 1 );
>>>>>>           }
>>>>>>       }
>>>>>>   }
>>>>>> }
>>>>>>
>>>>>> //CLIENT
>>>>>> #include <string.h>
>>>>>> #include "mpi.h"
>>>>>>
>>>>>> #define MAX_DATA 100
>>>>>>
>>>>>> int main( int argc, char **argv )
>>>>>> {
>>>>>> MPI_Comm server;
>>>>>> double buf[MAX_DATA];
>>>>>> char port_name[MPI_MAX_PORT_NAME];
>>>>>> int done = 0, tag, n, CNT=0;
>>>>>>
>>>>>> MPI_Init( &argc, &argv );
>>>>>> strcpy(port_name, argv[1] );  /* assume server's name is cmd-line arg */
>>>>>>
>>>>>> MPI_Comm_connect( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &server );
>>>>>>
>>>>>> n = MAX_DATA;
>>>>>>
>>>>>> while (!done)
>>>>>>   {
>>>>>>     tag = 2; /* Action to perform */
>>>>>>     if ( CNT == 5 ) { tag = 0; done = 1; }
>>>>>>     MPI_Send( buf, n, MPI_DOUBLE, 0, tag, server );
>>>>>>     CNT++;
>>>>>>     /* etc */
>>>>>>   }
>>>>>>
>>>>>> MPI_Send( buf, 0, MPI_DOUBLE, 0, 1, server );
>>>>>> MPI_Comm_disconnect( &server );
>>>>>> MPI_Finalize();
>>>>>>
>>>>>> return 0;
>>>>>> }
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> us...@open-mpi.org
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> us...@open-mpi.org
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to