[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-335-g274500c

Service Account noreply at mpich.org
Wed Jul 6 15:43:12 CDT 2016


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  274500c780126b3095f7423425f8a4f9ed20e09e (commit)
       via  8605c9daf6f4fc9a192d1cc92269c29cdbc9ba63 (commit)
      from  8ca555ce63610a63e8cd2b13f160a515346caf64 (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/274500c780126b3095f7423425f8a4f9ed20e09e

commit 274500c780126b3095f7423425f8a4f9ed20e09e
Author: Wesley Bland <wesley.bland at intel.com>
Date:   Tue Jun 21 09:44:21 2016 -0500

    Correctly print output for MPI_Lookup_name
    
    The port_name field was being printed with %p instead of %s which caused
    unusable output.
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/src/mpi/errhan/errnames.txt b/src/mpi/errhan/errnames.txt
index af540d1..d06085e 100644
--- a/src/mpi/errhan/errnames.txt
+++ b/src/mpi/errhan/errnames.txt
@@ -1200,7 +1200,7 @@ is too big (> MPIU_SHMW_GHND_SZ)
 **mpi_comm_spawn_multiple:MPI_Comm_spawn_multiple failed
 **mpi_comm_spawn_multiple %d %p %p %p %p %d %C %p %p:MPI_Comm_spawn_multiple(count=%d, cmds=%p, argvs=%p, maxprocs=%p, infos=%p, root=%d, %C, intercomm=%p, errors=%p) failed
 **mpi_lookup_name:MPI_Lookup_name failed
-**mpi_lookup_name %s %I %p:MPI_Lookup_name(service=\"%s\", %I, port=%p) failed
+**mpi_lookup_name %s %I %s:MPI_Lookup_name(service=\"%s\", %I, port=%s) failed
 **mpi_open_port:MPI_Open_port failed
 **mpi_open_port %I %p:MPI_Open_port(%I, port=%p) failed
 **mpi_publish_name:MPI_Publish_name failed
diff --git a/src/mpi/errhan/windefmsg.h b/src/mpi/errhan/windefmsg.h
index f347d16..2e134f5 100644
--- a/src/mpi/errhan/windefmsg.h
+++ b/src/mpi/errhan/windefmsg.h
@@ -2414,8 +2414,8 @@ static const char short_spc206[] = "**mpi_keyval_create %p %p %p %p";
 static const char long_spc206[]  = "MPI_Keyval_create(copy_fn=%p, del_fn=%p, keyval=%p, extra=%p) failed";
 static const char short_spc207[] = "**mpi_keyval_free %p";
 static const char long_spc207[]  = "MPI_Keyval_free(keyval=%p) failed";
-static const char short_spc208[] = "**mpi_lookup_name %s %I %p";
-static const char long_spc208[]  = "MPI_Lookup_name(service=\"%s\", %I, port=%p) failed";
+static const char short_spc208[] = "**mpi_lookup_name %s %I %s";
+static const char long_spc208[]  = "MPI_Lookup_name(service=\"%s\", %I, port=%s) failed";
 static const char short_spc209[] = "**mpi_op_create %p %d %p";
 static const char long_spc209[]  = "MPI_Op_create(fn=%p, commute=%d, op=%p) failed";
 static const char short_spc210[] = "**mpi_op_free %p";
diff --git a/src/mpi/spawn/lookup_name.c b/src/mpi/spawn/lookup_name.c
index 03a604e..df8e98c 100644
--- a/src/mpi/spawn/lookup_name.c
+++ b/src/mpi/spawn/lookup_name.c
@@ -147,7 +147,7 @@ int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name)
     {
 	mpi_errno = MPIR_Err_create_code(
 	    mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OTHER, "**mpi_lookup_name",
-	    "**mpi_lookup_name %s %I %p", service_name, info, port_name);
+	    "**mpi_lookup_name %s %I %s", service_name, info, port_name);
     }
 #   endif
     mpi_errno = MPIR_Err_return_comm( NULL, FCNAME, mpi_errno );

http://git.mpich.org/mpich.git/commitdiff/8605c9daf6f4fc9a192d1cc92269c29cdbc9ba63

commit 8605c9daf6f4fc9a192d1cc92269c29cdbc9ba63
Author: Wesley Bland <wesley.bland at intel.com>
Date:   Wed Jun 22 11:47:59 2016 -0500

    Add debug support to persistent send
    
    When the MPIR_Request object changed to a union, starting a persistent
    send became impossible if debugger support and error checking is turned
    on. This is because the union for the `dbg_next` field in the send
    shares an address with the `real_request` field in the persistent part.
    This fails the check later when calling `MPI_Start` because
    `real_request` is not null so MPICH thinks the request has already been
    started.
    
    Change the union to include a `dbg_next` field in both regular and
    persistent sends and check to make sure that only the correct one is
    getting filled in.
    
    Fixes csr/mpich-opa#336
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

diff --git a/src/include/mpir_request.h b/src/include/mpir_request.h
index 9b90c13..475616f 100644
--- a/src/include/mpir_request.h
+++ b/src/include/mpir_request.h
@@ -133,6 +133,9 @@ struct MPIR_Request {
         } send; /* kind : MPID_REQUEST_SEND */
 #endif  /* HAVE_DEBUGGER_SUPPORT */
         struct {
+#if defined HAVE_DEBUGGER_SUPPORT
+            struct MPIR_Sendq *dbg_next;
+#endif  /* HAVE_DEBUGGER_SUPPORT */
             /* Persistent requests have their own "real" requests */
             struct MPIR_Request *real_request;
         } persist;  /* kind : MPID_PREQUEST_SEND or MPID_PREQUEST_RECV */
diff --git a/src/mpi/debugger/dbginit.c b/src/mpi/debugger/dbginit.c
index f82b5f3..bc76344 100644
--- a/src/mpi/debugger/dbginit.c
+++ b/src/mpi/debugger/dbginit.c
@@ -363,7 +363,10 @@ void MPII_Sendq_remember( MPIR_Request *req,
 	p = (MPIR_Sendq *)MPL_malloc( sizeof(MPIR_Sendq) );
 	if (!p) {
 	    /* Just ignore it */
-            req->u.send.dbg_next = NULL;
+            if (MPIR_REQUEST_KIND__SEND == req->kind)
+                req->u.send.dbg_next = NULL;
+            else if (MPIR_REQUEST_KIND__PREQUEST_SEND == req->kind)
+                req->u.persist.dbg_next = NULL;
             goto fn_exit;
 	}
     }
@@ -375,7 +378,10 @@ void MPII_Sendq_remember( MPIR_Request *req,
     p->prev       = NULL;
     MPIR_Sendq_head = p;
     if (p->next) p->next->prev = p;
-    req->u.send.dbg_next = p;
+    if (MPIR_REQUEST_KIND__SEND == req->kind)
+        req->u.send.dbg_next = p;
+    else if (MPIR_REQUEST_KIND__PREQUEST_SEND == req->kind)
+        req->u.persist.dbg_next = p;
 fn_exit:
     MPID_THREAD_CS_EXIT(POBJ, req->pobj_mutex);
 #endif  /* HAVE_DEBUGGER_SUPPORT */
@@ -387,7 +393,10 @@ void MPII_Sendq_forget( MPIR_Request *req )
     MPIR_Sendq *p, *prev;
 
     MPID_THREAD_CS_ENTER(POBJ, req->pobj_mutex);
-    p    = req->u.send.dbg_next;
+    if (MPIR_REQUEST_KIND__SEND == req->kind)
+        p = req->u.send.dbg_next;
+    else if (MPIR_REQUEST_KIND__PREQUEST_SEND == req->kind)
+        p = req->u.persist.dbg_next;
     if (!p) {
         /* Just ignore it */
         MPID_THREAD_CS_EXIT(POBJ, req->pobj_mutex);

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

Summary of changes:
 src/include/mpir_request.h  |    3 +++
 src/mpi/debugger/dbginit.c  |   15 ++++++++++++---
 src/mpi/errhan/errnames.txt |    2 +-
 src/mpi/errhan/windefmsg.h  |    4 ++--
 src/mpi/spawn/lookup_name.c |    2 +-
 5 files changed, 19 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list