[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc2-208-gea817af

mysql vizuser noreply at mpich.org
Fri Jan 31 15:38:35 CST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  ea817af419894afbea6a2442c21b0b962fe5f087 (commit)
       via  2edc1fd227fcc4aaa18d0c9be68486240ae446b2 (commit)
       via  9e3e62b32c17d53b00763da5ab2eee13fb15bf7f (commit)
       via  4f477f61893f3b5a5ff9cefa2f6b2c2a445b2f56 (commit)
      from  257969053c8c448211172e569c748bd9db4336c6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/ea817af419894afbea6a2442c21b0b962fe5f087

commit ea817af419894afbea6a2442c21b0b962fe5f087
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Fri Jan 31 14:37:22 2014 -0600

    check for correct errclass in unpub test
    
    Check that attempting to unpublish a service the nameserver does
    not know about returns MPI_ERR_SERVICE. See 10.4.4 in the MPI standard.
    
    Signed-off-by: Pavan Balaji <balaji at mcs.anl.gov>

diff --git a/test/mpi/errors/spawn/unpub.c b/test/mpi/errors/spawn/unpub.c
index bd0c9b0..d770512 100644
--- a/test/mpi/errors/spawn/unpub.c
+++ b/test/mpi/errors/spawn/unpub.c
@@ -15,7 +15,7 @@
 
 int main( int argc, char *argv[] )
 {
-    int errs = 0;
+    int rc, errclass, errs = 0;
     char port_name[MPI_MAX_PORT_NAME], serv_name[256];
 
     MTest_Init( &argc, &argv );
@@ -25,7 +25,10 @@ int main( int argc, char *argv[] )
 
     MPI_Comm_set_errhandler( MPI_COMM_WORLD, MPI_ERRORS_RETURN );
 
-    MPI_Unpublish_name( serv_name, MPI_INFO_NULL, port_name );
+    rc = MPI_Unpublish_name( serv_name, MPI_INFO_NULL, port_name );
+    MPI_Error_class(rc, &errclass);
+    if (errclass != MPI_ERR_SERVICE)
+        ++errs;
 
     MTest_Finalize( errs );
     MPI_Finalize();

http://git.mpich.org/mpich.git/commitdiff/2edc1fd227fcc4aaa18d0c9be68486240ae446b2

commit 2edc1fd227fcc4aaa18d0c9be68486240ae446b2
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Fri Jan 31 15:01:28 2014 -0600

    corrects the MPI error class returned from MPI_Unpublish_name.
    
    The error class should be MPI_ERR_SERVICE, not MPI_ERR_NAME, as
    defined by the MPI-3 standard section 10.4.4.
    
    Signed-off-by: Pavan Balaji <balaji at mcs.anl.gov>

diff --git a/src/nameserv/pmi/pmi_nameserv.c b/src/nameserv/pmi/pmi_nameserv.c
index 55181b6..152f56c 100644
--- a/src/nameserv/pmi/pmi_nameserv.c
+++ b/src/nameserv/pmi/pmi_nameserv.c
@@ -111,7 +111,7 @@ int MPID_NS_Unpublish( MPID_NS_Handle handle, const MPID_Info *info_ptr,
 #else
     rc = PMI_Unpublish_name( service_name );
 #endif
-    MPIU_ERR_CHKANDJUMP1(rc, mpi_errno, MPI_ERR_NAME, "**namepubnotunpub", "**namepubnotunpub %s", service_name);
+    MPIU_ERR_CHKANDJUMP1(rc, mpi_errno, MPI_ERR_SERVICE, "**namepubnotunpub", "**namepubnotunpub %s", service_name);
 
 fn_fail:
     return mpi_errno;

http://git.mpich.org/mpich.git/commitdiff/9e3e62b32c17d53b00763da5ab2eee13fb15bf7f

commit 9e3e62b32c17d53b00763da5ab2eee13fb15bf7f
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Fri Jan 31 14:21:15 2014 -0600

    error reporting corrections in pmi nameservice
    
    Improves error reporting in the pmi nameservice by checking return
    codes from the pmi server. Debug messages are also printed when
    enabled.
    
    Signed-off-by: Pavan Balaji <balaji at mcs.anl.gov>

diff --git a/src/pmi/simple/simple_pmi.c b/src/pmi/simple/simple_pmi.c
index 18aa0ad..24daf96 100644
--- a/src/pmi/simple/simple_pmi.c
+++ b/src/pmi/simple/simple_pmi.c
@@ -451,11 +451,12 @@ int PMI_Publish_name( const char service_name[], const char port[] )
 		       "cmd=publish_name service=%s port=%s\n",
 		       service_name, port );
 	err = GetResponse( cmd, "publish_result", 0 );
-	/* FIXME: This should have used rc and msg */
 	if (err == PMI_SUCCESS) {
-	    PMIU_getval( "info", buf, PMIU_MAXLINE );
-	    if ( strcmp(buf,"ok") != 0 ) {
-	        PMIU_printf( 1, "publish failed; reason = %s\n", buf );
+	    PMIU_getval( "rc", buf, PMIU_MAXLINE );
+	    if ( strcmp(buf,"0") != 0 ) {
+                PMIU_getval( "msg", buf, PMIU_MAXLINE );
+                PMIU_printf( PMI_debug, "publish failed; reason = %s\n", buf );
+
 	        return( PMI_FAIL );
 	    }
 	}
@@ -479,13 +480,12 @@ int PMI_Unpublish_name( const char service_name[] )
 		       service_name );
 	err = GetResponse( cmd, "unpublish_result", 0 );
 	if (err == PMI_SUCCESS) {
-	    PMIU_getval( "info", buf, PMIU_MAXLINE );
-	    if ( strcmp(buf,"ok") != 0 ) {
-		/* FIXME: Do correct error reporting */
-		/*
-	        PMIU_printf( 1, "unpublish failed; reason = %s\n", buf );
-		*/
-	        return( PMI_FAIL );
+	    PMIU_getval( "rc", buf, PMIU_MAXLINE );
+	    if ( strcmp(buf,"0") != 0 ) {
+                PMIU_getval( "msg", buf, PMIU_MAXLINE );
+                PMIU_printf( PMI_debug, "unpublish failed; reason = %s\n", buf );
+
+                return( PMI_FAIL );
 	    }
 	}
     }
@@ -508,12 +508,11 @@ int PMI_Lookup_name( const char service_name[], char port[] )
 		       service_name );
 	err = GetResponse( cmd, "lookup_result", 0 );
 	if (err == PMI_SUCCESS) {
-	    PMIU_getval( "info", buf, PMIU_MAXLINE );
-	    if ( strcmp(buf,"ok") != 0 ) {
-		/* FIXME: Do correct error reporting */
-		/****
-	        PMIU_printf( 1, "lookup failed; reason = %s\n", buf );
-		****/
+	    PMIU_getval( "rc", buf, PMIU_MAXLINE );
+	    if ( strcmp(buf,"0") != 0 ) {
+                PMIU_getval( "msg", buf, PMIU_MAXLINE );
+                PMIU_printf( PMI_debug, "lookup failed; reason = %s\n", buf );
+
 	        return( PMI_FAIL );
 	    }
 	    PMIU_getval( "port", port, MPI_MAX_PORT_NAME );

http://git.mpich.org/mpich.git/commitdiff/4f477f61893f3b5a5ff9cefa2f6b2c2a445b2f56

commit 4f477f61893f3b5a5ff9cefa2f6b2c2a445b2f56
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Fri Jan 31 10:11:31 2014 -0600

    fix for unpublish name behavior
    
    When MPI_Unpublish_name is called on the pmi nameserver before any
    services have been published, a segfault will occur. Add a check to
    determine if anything is published so we can exit early instead.
    
    Signed-off-by: Pavan Balaji <balaji at mcs.anl.gov>

diff --git a/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c b/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
index 02fcbcc..9cd1fa0 100644
--- a/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
+++ b/src/pm/hydra/pm/pmiserv/pmiserv_pmi.c
@@ -165,6 +165,12 @@ HYD_status HYD_pmcd_pmi_unpublish(char *name, int *success)
     *success = 0;
     if (HYD_server_info.nameserver == NULL) {
         /* no external nameserver available */
+
+        if (!HYD_pmcd_pmi_publish_list) {
+            /* nothing is published yet */
+            goto fn_exit;
+        }
+
         if (!strcmp(HYD_pmcd_pmi_publish_list->name, name)) {
             publish = HYD_pmcd_pmi_publish_list;
             HYD_pmcd_pmi_publish_list = HYD_pmcd_pmi_publish_list->next;

-----------------------------------------------------------------------

Summary of changes:
 src/nameserv/pmi/pmi_nameserv.c       |    2 +-
 src/pm/hydra/pm/pmiserv/pmiserv_pmi.c |    6 ++++++
 src/pmi/simple/simple_pmi.c           |   33 ++++++++++++++++-----------------
 test/mpi/errors/spawn/unpub.c         |    7 +++++--
 4 files changed, 28 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list