diff --git a/ompi/dpm/dpm.c b/ompi/dpm/dpm.c index 9fb42dcce08..435b5ce96ec 100644 --- a/ompi/dpm/dpm.c +++ b/ompi/dpm/dpm.c @@ -405,7 +405,7 @@ int ompi_dpm_connect_accept(ompi_communicator_t *comm, int root, } if (0 < opal_list_get_size(&ilist)) { uint32_t *peer_ranks = NULL; - int prn, nprn; + int prn, nprn = 0; char *val, *mycpuset; uint16_t u16; opal_process_name_t wildcard_rank; diff --git a/ompi/mca/coll/libnbc/nbc_ialltoall.c b/ompi/mca/coll/libnbc/nbc_ialltoall.c index e2731e1a1d3..6c5883f23c9 100644 --- a/ompi/mca/coll/libnbc/nbc_ialltoall.c +++ b/ompi/mca/coll/libnbc/nbc_ialltoall.c @@ -70,7 +70,7 @@ static int nbc_alltoall_init(const void* sendbuf, int sendcount, MPI_Datatype se enum {NBC_A2A_LINEAR, NBC_A2A_PAIRWISE, NBC_A2A_DISS, NBC_A2A_INPLACE} alg; void *tmpbuf = NULL; ompi_coll_libnbc_module_t *libnbc_module = (ompi_coll_libnbc_module_t*) module; - ptrdiff_t span, gap; + ptrdiff_t span, gap = 0; NBC_IN_PLACE(sendbuf, recvbuf, inplace); diff --git a/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c b/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c index 11e657b7e39..d81ba2d3c44 100644 --- a/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c +++ b/ompi/mca/io/romio321/romio/adio/common/ad_read_coll.c @@ -826,17 +826,17 @@ static void ADIOI_R_Exchange_data(ADIO_File fd, void *buf, ADIOI_Flatlist_node if (recv_size[i]) recv_buf[i] = (char *) ADIOI_Malloc(recv_size[i]); - j = 0; - for (i=0; i < nprocs; i++) - if (recv_size[i]) { - MPI_Irecv(recv_buf[i], recv_size[i], MPI_BYTE, i, - myrank+i+100*iter, fd->comm, requests+j); - j++; + j = 0; + for (i=0; i < nprocs; i++) + if (recv_size[i]) { + MPI_Irecv(recv_buf[i], recv_size[i], MPI_BYTE, i, + myrank+i+100*iter, fd->comm, requests+j); + j++; #ifdef RDCOLL_DEBUG - DBG_FPRINTF(stderr, "node %d, recv_size %d, tag %d \n", - myrank, recv_size[i], myrank+i+100*iter); + DBG_FPRINTF(stderr, "node %d, recv_size %d, tag %d \n", + myrank, recv_size[i], myrank+i+100*iter); #endif - } + } } /* create derived datatypes and send data */ diff --git a/opal/mca/memory/patcher/memory_patcher_component.c b/opal/mca/memory/patcher/memory_patcher_component.c index 687d430fa36..272ec721225 100644 --- a/opal/mca/memory/patcher/memory_patcher_component.c +++ b/opal/mca/memory/patcher/memory_patcher_component.c @@ -440,7 +440,7 @@ static void *_intercept_shmat(int shmid, const void *shmaddr, int shmflg) if (!original_shmat) { #if defined(SYS_shmat) - result = memory_patcher_syscall(SYS_shmat, shmid, shmaddr, shmflg); + result = (void*) memory_patcher_syscall(SYS_shmat, shmid, shmaddr, shmflg); #else // IPCOP_shmat unsigned long ret; ret = memory_patcher_syscall(SYS_ipc, IPCOP_shmat, diff --git a/orte/mca/odls/default/odls_default_module.c b/orte/mca/odls/default/odls_default_module.c index ab9d6e442f6..f8012bb3c92 100644 --- a/orte/mca/odls/default/odls_default_module.c +++ b/orte/mca/odls/default/odls_default_module.c @@ -454,11 +454,22 @@ static int do_child(orte_odls_spawn_caddy_t *cd, int write_fd) /* Exec the new executable */ execve(cd->cmd, cd->argv, cd->env); - getcwd(dir, sizeof(dir)); + /* If we get here, an error has occurred. */ + (void) getcwd(dir, sizeof(dir)); + struct stat stats; + char* msg; + /* If errno is ENOENT, that indicates either cd->cmd does not exist, or + * cd->cmd is a script, but has a bad interpreter specified. */ + if (ENOENT == errno && 0 == stat(cd->app->app, &stats)) { + asprintf(&msg, "%s has a bad interpreter on the first line.", + cd->app->app); + } else { + msg = strdup(strerror(errno)); + } send_error_show_help(write_fd, 1, "help-orte-odls-default.txt", "execve error", - orte_process_info.nodename, dir, cd->app->app, strerror(errno)); - /* Does not return */ + orte_process_info.nodename, dir, cd->app->app, msg); + free(msg); }