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 60ca21cf73d3cd3d74d36ac4bae50f37d904dfc9 (commit) via 7fddec5638fff514e808cb9dff7ad6b424b8596c (commit) via c9254112baaf7d6cd5697fcb6101d90ff6f227c5 (commit) via fb99a5964796bad5b2abd67281dac2863f275404 (commit) via d3d0ae55ec02f80a78c3cf0a739549c0313fcd90 (commit) via 927f18ea9a0fb24e0812ae8776d191162f5474a5 (commit) from 62f750cca300118d22a4ba2d77968343b0acfd53 (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/60ca21cf73d3cd3d74d36ac4bae50f37d9... commit 60ca21cf73d3cd3d74d36ac4bae50f37d904dfc9 Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 20:10:08 2016 -0600 Bug-fix: release RMA progress hook correctly. We should check for both active and inactive lists. This was a bug causing the RMA progress hook to get released even when one of the lists was not NULL. Signed-off-by: Xin Zhao <[email protected]> diff --git a/src/mpid/ch3/src/mpidi_rma.c b/src/mpid/ch3/src/mpidi_rma.c index 53cf8c7..590f30a 100644 --- a/src/mpid/ch3/src/mpidi_rma.c +++ b/src/mpid/ch3/src/mpidi_rma.c @@ -193,7 +193,7 @@ int MPID_Win_free(MPID_Win ** win_ptr) MPIU_Assert((*win_ptr)->active == FALSE); MPL_DL_DELETE(MPIDI_RMA_Win_inactive_list_head, (*win_ptr)); - if (MPIDI_RMA_Win_inactive_list_head == NULL && MPIDI_RMA_Win_inactive_list_head == NULL) { + if (MPIDI_RMA_Win_inactive_list_head == NULL && MPIDI_RMA_Win_active_list_head == NULL) { /* this is the last window, de-register RMA progress hook */ mpi_errno = MPID_Progress_deregister_hook(MPIDI_CH3I_RMA_Progress_hook_id); if (mpi_errno != MPI_SUCCESS) { http://git.mpich.org/mpich.git/commitdiff/7fddec5638fff514e808cb9dff7ad6b424... commit 7fddec5638fff514e808cb9dff7ad6b424b8596c Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 17:21:05 2016 -0600 fix initializations. In some cases, we would end up using the uninitialized variables. Initialize at the start to avoid such cases. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in b/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in index ae4df63..d48a548 100644 --- a/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in +++ b/src/pm/hydra/tools/bootstrap/src/bsci_init.c.in @@ -45,7 +45,7 @@ static void init_bsci_info(void) static const char *detect_rmk(int debug) { - int i, ret; + int i, ret = 0; HYD_status status = HYD_SUCCESS; for (i = 0; rmk_array[i]; i++) { diff --git a/src/pm/hydra/utils/args/args.c b/src/pm/hydra/utils/args/args.c index 8303bd7..bc7ea5e 100644 --- a/src/pm/hydra/utils/args/args.c +++ b/src/pm/hydra/utils/args/args.c @@ -360,7 +360,7 @@ HYD_status HYDU_parse_hostfile(const char *hostfile, struct HYD_node **node_list char *HYDU_find_full_path(const char *execname) { - char *tmp[HYD_NUM_TMP_STRINGS], *path = NULL, *test_path = NULL; + char *tmp[HYD_NUM_TMP_STRINGS] = { NULL }, *path = NULL, *test_path = NULL; HYD_status status = HYD_SUCCESS; HYDU_FUNC_ENTER(); http://git.mpich.org/mpich.git/commitdiff/c9254112baaf7d6cd5697fcb6101d90ff6... commit c9254112baaf7d6cd5697fcb6101d90ff6f227c5 Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 17:12:12 2016 -0600 Added additional error checking. We were capturing the error, but were not doing anything with the captured error code. This patch at least jumps to fail in such cases and returns the error instead of simply overwriting the error in the next statement. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/coll/red_scat.c b/src/mpi/coll/red_scat.c index 5eb3595..9e26f0d 100644 --- a/src/mpi/coll/red_scat.c +++ b/src/mpi/coll/red_scat.c @@ -835,10 +835,13 @@ int MPIR_Reduce_scatter_intra(const void *sendbuf, void *recvbuf, const int recv mpi_errno = MPIR_Reduce_local_impl( tmp_recvbuf, tmp_results, blklens[0], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + mpi_errno = MPIR_Reduce_local_impl( ((char *)tmp_recvbuf + dis[1]*extent), ((char *)tmp_results + dis[1]*extent), blklens[1], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); } } else { @@ -846,10 +849,13 @@ int MPIR_Reduce_scatter_intra(const void *sendbuf, void *recvbuf, const int recv mpi_errno = MPIR_Reduce_local_impl( tmp_results, tmp_recvbuf, blklens[0], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + mpi_errno = MPIR_Reduce_local_impl( ((char *)tmp_results + dis[1]*extent), ((char *)tmp_recvbuf + dis[1]*extent), blklens[1], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); } /* copy result back into tmp_results */ mpi_errno = MPIR_Localcopy(tmp_recvbuf, 1, recvtype, diff --git a/src/mpi/coll/red_scat_block.c b/src/mpi/coll/red_scat_block.c index 28c6b17..1ca4b8e 100644 --- a/src/mpi/coll/red_scat_block.c +++ b/src/mpi/coll/red_scat_block.c @@ -809,19 +809,26 @@ int MPIR_Reduce_scatter_block_intra ( mpi_errno = MPIR_Reduce_local_impl( tmp_recvbuf, tmp_results, blklens[0], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + mpi_errno = MPIR_Reduce_local_impl( ((char *)tmp_recvbuf + dis[1]*extent), ((char *)tmp_results + dis[1]*extent), blklens[1], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); } else { mpi_errno = MPIR_Reduce_local_impl( tmp_results, tmp_recvbuf, blklens[0], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + mpi_errno = MPIR_Reduce_local_impl( ((char *)tmp_results + dis[1]*extent), ((char *)tmp_recvbuf + dis[1]*extent), blklens[1], datatype, op); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + /* copy result back into tmp_results */ mpi_errno = MPIR_Localcopy(tmp_recvbuf, 1, recvtype, tmp_results, 1, recvtype); diff --git a/src/mpid/ch3/src/ch3u_port.c b/src/mpid/ch3/src/ch3u_port.c index 6ff7cc5..d1f966b 100644 --- a/src/mpid/ch3/src/ch3u_port.c +++ b/src/mpid/ch3/src/ch3u_port.c @@ -1024,8 +1024,10 @@ int MPIDI_Comm_accept(const char *port_name, MPID_Info *info, int root, distributes them to the processes in comm_ptr */ mpi_errno = ReceivePGAndDistribute( tmp_comm, comm_ptr, root, &recvtag, n_remote_pgs, remote_pg ); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); mpi_errno = SendPGtoPeerAndFree( tmp_comm, &sendtag, pg_list ); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); /* Receive the translations from remote process rank to process group index */ /*printf("accept:sending %d ints and receiving %d ints\n", local_comm_size * 2, remote_comm_size * 2);fflush(stdout);*/ @@ -1034,6 +1036,8 @@ int MPIDI_Comm_accept(const char *port_name, MPID_Info *info, int root, remote_translation, remote_comm_size * 2, MPI_INT, 0, recvtag++, tmp_comm, MPI_STATUS_IGNORE, &errflag); + if (mpi_errno) MPIR_ERR_POP(mpi_errno); + #ifdef MPICH_DBG_OUTPUT MPL_DBG_MSG_D(MPIDI_CH3_DBG_OTHER,TERSE,"[%d]accept:Received remote_translation:\n", rank); for (i=0; i<remote_comm_size; i++) diff --git a/src/pm/hydra/pm/pmiserv/pmip_cb.c b/src/pm/hydra/pm/pmiserv/pmip_cb.c index 316c01c..7fe88f0 100644 --- a/src/pm/hydra/pm/pmiserv/pmip_cb.c +++ b/src/pm/hydra/pm/pmiserv/pmip_cb.c @@ -549,6 +549,8 @@ static HYD_status launch_procs(void) HYD_pmcd_pmip.downstream.err, HYD_pmcd_pmip.downstream.pid, HYD_pmcd_pmip.local.ckpoint_prefix_list[0]); + HYDU_ERR_POP(status, "unable to restart from checkpoint\n"); + goto fn_spawn_complete; } diff --git a/src/pm/hydra/ui/utils/uiu.c b/src/pm/hydra/ui/utils/uiu.c index 4b89134..f935442 100644 --- a/src/pm/hydra/ui/utils/uiu.c +++ b/src/pm/hydra/ui/utils/uiu.c @@ -320,6 +320,7 @@ static HYD_status stdoe_cb(int _fd, int pgid, int proxy_id, int rank, void *_buf status = HYDU_sock_write(fd, (const void *) prepend, strlen(prepend), &sent, &closed, HYDU_SOCK_COMM_MSGWAIT); + HYDU_ERR_POP(status, "unable to write data to stdout/stderr\n"); } status = HYDU_sock_write(fd, (const void *) &buf[mark], i - mark + 1, &sent, &closed, HYDU_SOCK_COMM_MSGWAIT); diff --git a/src/pmi/simple/simple_pmi.c b/src/pmi/simple/simple_pmi.c index 33ea5db..05859f4 100644 --- a/src/pmi/simple/simple_pmi.c +++ b/src/pmi/simple/simple_pmi.c @@ -603,6 +603,8 @@ int PMI_Spawn_multiple(int count, } argcnt++; rc = PMIU_writeline( PMI_fd, buf ); + if (rc) + return PMI_FAIL; buf[0] = 0; } http://git.mpich.org/mpich.git/commitdiff/fb99a5964796bad5b2abd67281dac2863f... commit fb99a5964796bad5b2abd67281dac2863f275404 Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 17:07:15 2016 -0600 remove unnecessary statement. The variable is immediately overwritten in the next statement, making this statement irrelevant. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/coll/ired_scat_block.c b/src/mpi/coll/ired_scat_block.c index 6960ed0..05d4367 100644 --- a/src/mpi/coll/ired_scat_block.c +++ b/src/mpi/coll/ired_scat_block.c @@ -497,7 +497,6 @@ int MPIR_Ireduce_scatter_block_rec_dbl(const void *sendbuf, void *recvbuf, int r blklens[1] = 0; dis[0] = 0; - dis[1] = blklens[0]; dis[1] = blklens[0] + recvcount * (MPL_MIN((dst_tree_root + mask), comm_size) - dst_tree_root); mpi_errno = MPIR_Type_indexed_impl(2, blklens, dis, datatype, &recvtype); http://git.mpich.org/mpich.git/commitdiff/d3d0ae55ec02f80a78c3cf0a739549c031... commit d3d0ae55ec02f80a78c3cf0a739549c0313fcd90 Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 17:00:40 2016 -0600 romio: fixup weird pointer comparison. What does a '< 0' comparison even mean for a pointer. Looks like some weird unexplained logic. Changing it to a simple NULL comparison. Signed-off-by: Rob Latham <[email protected]> diff --git a/src/mpi/romio/mpi-io/glue/default/mpio_file.c b/src/mpi/romio/mpi-io/glue/default/mpio_file.c index 7a43b01..38222f7 100644 --- a/src/mpi/romio/mpi-io/glue/default/mpio_file.c +++ b/src/mpi/romio/mpi-io/glue/default/mpio_file.c @@ -66,7 +66,7 @@ MPI_Fint MPIO_File_c2f(MPI_File fh) #else int i; - if ((fh <= (MPI_File) 0) || (fh->cookie != ADIOI_FILE_COOKIE)) + if ((fh == NULL) || (fh->cookie != ADIOI_FILE_COOKIE)) return (MPI_Fint) 0; if (!ADIOI_Ftable) { ADIOI_Ftable_max = 1024; diff --git a/src/mpi/romio/mpi-io/glue/mpich/mpio_file.c b/src/mpi/romio/mpi-io/glue/mpich/mpio_file.c index 6f6c902..a5e54a7 100644 --- a/src/mpi/romio/mpi-io/glue/mpich/mpio_file.c +++ b/src/mpi/romio/mpi-io/glue/mpich/mpio_file.c @@ -63,7 +63,7 @@ MPI_Fint MPIO_File_c2f(MPI_File fh) #else int i; - if ((fh <= (MPI_File) 0) || (fh->cookie != ADIOI_FILE_COOKIE)) + if ((fh == NULL) || (fh->cookie != ADIOI_FILE_COOKIE)) return (MPI_Fint) 0; if (fh->fortran_handle != -1) diff --git a/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c b/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c index e3ac2e7..f0b6d51 100644 --- a/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c +++ b/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c @@ -68,7 +68,7 @@ MPI_Fint MPIO_File_c2f(MPI_File fh) #else int i; - if ((fh <= (MPI_File) 0) || (fh->cookie != ADIOI_FILE_COOKIE)) + if ((fh == NULL) || (fh->cookie != ADIOI_FILE_COOKIE)) return (MPI_Fint) 0; if (!ADIOI_Ftable) { ADIOI_Ftable_max = 1024; http://git.mpich.org/mpich.git/commitdiff/927f18ea9a0fb24e0812ae8776d191162f... commit 927f18ea9a0fb24e0812ae8776d191162f5474a5 Author: Pavan Balaji <[email protected]> Date: Sat Feb 13 16:57:40 2016 -0600 Bug-fix: incorrect assertion. The assertion was doing an assignment ('=') instead of a check ('==') for whether the data fits inside an integer. Signed-off-by: Xin Zhao <[email protected]> diff --git a/src/mpid/ch3/src/ch3u_handle_recv_req.c b/src/mpid/ch3/src/ch3u_handle_recv_req.c index fe167bd..c2c7ec2 100644 --- a/src/mpid/ch3/src/ch3u_handle_recv_req.c +++ b/src/mpid/ch3/src/ch3u_handle_recv_req.c @@ -1327,7 +1327,7 @@ static inline int perform_acc_in_lock_queue(MPID_Win * win_ptr, /* Note: here stream_offset is 0 because when piggybacking LOCK, we must use * the first stream unit. */ - MPIU_Assert(recv_count = (int) recv_count); + MPIU_Assert(recv_count == (int) recv_count); mpi_errno = do_accumulate_op(target_lock_entry->data, (int) recv_count, acc_pkt->datatype, acc_pkt->addr, acc_pkt->count, acc_pkt->datatype, 0, acc_pkt->op); ----------------------------------------------------------------------- Summary of changes: src/mpi/coll/ired_scat_block.c | 1 - src/mpi/coll/red_scat.c | 6 ++++++ src/mpi/coll/red_scat_block.c | 7 +++++++ src/mpi/romio/mpi-io/glue/default/mpio_file.c | 2 +- src/mpi/romio/mpi-io/glue/mpich/mpio_file.c | 2 +- src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c | 2 +- src/mpid/ch3/src/ch3u_handle_recv_req.c | 2 +- src/mpid/ch3/src/ch3u_port.c | 4 ++++ src/mpid/ch3/src/mpidi_rma.c | 2 +- src/pm/hydra/pm/pmiserv/pmip_cb.c | 2 ++ src/pm/hydra/tools/bootstrap/src/bsci_init.c.in | 2 +- src/pm/hydra/ui/utils/uiu.c | 1 + src/pm/hydra/utils/args/args.c | 2 +- src/pmi/simple/simple_pmi.c | 2 ++ 14 files changed, 29 insertions(+), 8 deletions(-) hooks/post-receive -- MPICH primary repository