[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.3-35-gcce767b

Service Account noreply at mpich.org
Wed Oct 22 11:35:16 CDT 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  cce767b33839004e51051fe5de965b2903e520c0 (commit)
       via  e49213d68edd3690e7279a15a97c64cf98961b47 (commit)
      from  786b3e98a54107e844d43cfc4b27f71baacba47e (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/cce767b33839004e51051fe5de965b2903e520c0

commit cce767b33839004e51051fe5de965b2903e520c0
Author: Wesley Bland <wbland at anl.gov>
Date:   Tue Oct 21 14:58:15 2014 -0500

    Don't try to destroy a request if it doesn't exist
    
    In the macro MPID_nem_lmt_send_RTS, the request for the send was being freed
    on an error even if it didn't exist. This caused a segfault if calling a bcast
    after a process previously failed.
    
    Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>

diff --git a/src/mpid/ch3/channels/nemesis/include/mpid_nem_impl.h b/src/mpid/ch3/channels/nemesis/include/mpid_nem_impl.h
index c32e9df..a726b7d 100644
--- a/src/mpid/ch3/channels/nemesis/include/mpid_nem_impl.h
+++ b/src/mpid/ch3/channels/nemesis/include/mpid_nem_impl.h
@@ -151,8 +151,10 @@ typedef union MPIDI_CH3_nem_pkt
         /* --BEGIN ERROR HANDLING-- */                                                                  \
         if (mpi_errno != MPI_SUCCESS)                                                                   \
         {                                                                                               \
-            MPIU_Object_set_ref(_rts_req, 0);                                                           \
-            MPIDI_CH3_Request_destroy(_rts_req);                                                        \
+            if (NULL != _rts_req) {                                                                     \
+                MPIU_Object_set_ref(_rts_req, 0);                                                       \
+                MPIDI_CH3_Request_destroy(_rts_req);                                                    \
+            }                                                                                           \
             MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**rtspkt");                                  \
         }                                                                                               \
         /* --END ERROR HANDLING-- */                                                                    \

http://git.mpich.org/mpich.git/commitdiff/e49213d68edd3690e7279a15a97c64cf98961b47

commit e49213d68edd3690e7279a15a97c64cf98961b47
Author: Wesley Bland <wbland at anl.gov>
Date:   Tue Oct 21 10:27:20 2014 -0500

    Fix typo in bcast macro
    
    The macro that called the bcast function left out an underscore in the
    mpi_errno return value. This caused the test to always return MPI_ERR_OTHER
    instead of the value being returned by the underlying bcast function.
    
    Signed-off-by: Huiwei Lu <huiweilu at mcs.anl.gov>

diff --git a/src/mpi/coll/bcast.c b/src/mpi/coll/bcast.c
index 836dd4d..7e42727 100644
--- a/src/mpi/coll/bcast.c
+++ b/src/mpi/coll/bcast.c
@@ -982,7 +982,7 @@ fn_fail:
             /* for communication errors, just record the error but continue */                   \
             *(errflag_) = TRUE;                                                                  \
             MPIU_ERR_SET(mpi_errno_, MPI_ERR_OTHER, "**fail");                                   \
-            MPIU_ERR_ADD(mpi_errno_ret_, mpi_errno);                                             \
+            MPIU_ERR_ADD(mpi_errno_ret_, mpi_errno_);                                            \
         }                                                                                        \
     } while (0)
 
diff --git a/test/mpi/ft/bcast.c b/test/mpi/ft/bcast.c
index 06cfeff..8c877a9 100644
--- a/test/mpi/ft/bcast.c
+++ b/test/mpi/ft/bcast.c
@@ -27,6 +27,10 @@ int main(int argc, char **argv)
     MPI_Comm_size(MPI_COMM_WORLD, &size);
     MPI_Comm_set_errhandler(MPI_COMM_WORLD, MPI_ERRORS_RETURN);
 
+    MPI_Comm_group(MPI_COMM_WORLD, &world);
+    MPI_Group_excl(world, 1, deadprocs, &newgroup);
+    MPI_Comm_create_group(MPI_COMM_WORLD, newgroup, 0, &newcomm);
+
     if (size < 3) {
         fprintf( stderr, "Must run with at least 3 processes\n" );
         MPI_Abort( MPI_COMM_WORLD, 1 );
@@ -66,10 +70,6 @@ int main(int argc, char **argv)
     }
 #endif
 
-    MPI_Comm_group(MPI_COMM_WORLD, &world);
-    MPI_Group_excl(world, 1, deadprocs, &newgroup);
-    MPI_Comm_create_group(MPI_COMM_WORLD, newgroup, 0, &newcomm);
-
     rc = MPI_Reduce(&errs, &toterrs, 1, MPI_INT, MPI_SUM, 0, newcomm);
     if(rc)
         fprintf(stderr, "Failed to get errors from other processes\n");

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

Summary of changes:
 src/mpi/coll/bcast.c                               |    2 +-
 .../ch3/channels/nemesis/include/mpid_nem_impl.h   |    6 ++++--
 test/mpi/ft/bcast.c                                |    8 ++++----
 3 files changed, 9 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list