[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