diff --git a/ompi/dpm/dpm.c b/ompi/dpm/dpm.c index def9f1b30c0..fe304f3de09 100644 --- a/ompi/dpm/dpm.c +++ b/ompi/dpm/dpm.c @@ -1029,7 +1029,6 @@ int ompi_dpm_spawn(int count, const char *array_of_commands[], OPAL_LIST_DESTRUCT(&apps); if (OPAL_SUCCESS != rc) { - OMPI_ERROR_LOG(rc); opal_progress_event_users_decrement(); return MPI_ERR_SPAWN; } diff --git a/opal/mca/pmix/pmix1xx/pmix/src/client/pmix_client_spawn.c b/opal/mca/pmix/pmix1xx/pmix/src/client/pmix_client_spawn.c index 12b297a5db1..c2262992520 100644 --- a/opal/mca/pmix/pmix1xx/pmix/src/client/pmix_client_spawn.c +++ b/opal/mca/pmix/pmix1xx/pmix/src/client/pmix_client_spawn.c @@ -192,17 +192,19 @@ static void wait_cbfunc(struct pmix_peer_t *pr, pmix_usock_hdr_t *hdr, PMIX_ERROR_LOG(rc); ret = rc; } - /* unpack the namespace */ - cnt = 1; - if (PMIX_SUCCESS != (rc = pmix_bfrop.unpack(buf, &n2, &cnt, PMIX_STRING))) { - PMIX_ERROR_LOG(rc); - ret = rc; - } - if (NULL != n2) { - (void)strncpy(nspace, n2, PMIX_MAX_NSLEN); - /* extract and process any proc-related info for this nspace */ - pmix_client_process_nspace_blob(nspace, buf); - free(n2); + if (PMIX_SUCCESS == ret) { + /* unpack the namespace */ + cnt = 1; + if (PMIX_SUCCESS != (rc = pmix_bfrop.unpack(buf, &n2, &cnt, PMIX_STRING))) { + PMIX_ERROR_LOG(rc); + ret = rc; + } + if (NULL != n2) { + (void)strncpy(nspace, n2, PMIX_MAX_NSLEN); + /* extract and process any proc-related info for this nspace */ + pmix_client_process_nspace_blob(nspace, buf); + free(n2); + } } if (NULL != cb->spawn_cbfunc) { diff --git a/opal/mca/pmix/pmix1xx/pmix/src/server/pmix_server.c b/opal/mca/pmix/pmix1xx/pmix/src/server/pmix_server.c index 682c374e529..7f20360ef53 100644 --- a/opal/mca/pmix/pmix1xx/pmix/src/server/pmix_server.c +++ b/opal/mca/pmix/pmix1xx/pmix/src/server/pmix_server.c @@ -1483,21 +1483,24 @@ static void _spcb(int sd, short args, void *cbdata) cd->active = false; return; } - /* add any job-related info we have on that nspace - this will - * include the name of the nspace */ - nptr = NULL; - PMIX_LIST_FOREACH(ns, &pmix_globals.nspaces, pmix_nspace_t) { - if (0 == strcmp(ns->nspace, cd->nspace)) { - nptr = ns; - break; + if (PMIX_SUCCESS == cd->status) { + /* add any job-related info we have on that nspace - this will + * include the name of the nspace */ + nptr = NULL; + PMIX_LIST_FOREACH(ns, &pmix_globals.nspaces, pmix_nspace_t) { + if (0 == strcmp(ns->nspace, cd->nspace)) { + nptr = ns; + break; + } + } + if (NULL == nptr) { + /* shouldn't happen */ + PMIX_ERROR_LOG(PMIX_ERR_NOT_FOUND); + } else { + pmix_bfrop.copy_payload(reply, &nptr->server->job_info); } } - if (NULL == nptr) { - /* shouldn't happen */ - PMIX_ERROR_LOG(PMIX_ERR_NOT_FOUND); - } else { - pmix_bfrop.copy_payload(reply, &nptr->server->job_info); - } + /* the function that created the server_caddy did a * retain on the peer, so we don't have to worry about * it still being present - tell the originator the result */ diff --git a/orte/mca/errmgr/default_hnp/errmgr_default_hnp.c b/orte/mca/errmgr/default_hnp/errmgr_default_hnp.c index 9bbf29dab1a..308946d14f6 100644 --- a/orte/mca/errmgr/default_hnp/errmgr_default_hnp.c +++ b/orte/mca/errmgr/default_hnp/errmgr_default_hnp.c @@ -132,7 +132,7 @@ static void job_errors(int fd, short args, void *cbdata) orte_proc_t *aborted_proc; opal_buffer_t *answer; int32_t rc, ret; - int room; + int room, *rmptr; /* * if orte is trying to shutdown, just let it @@ -194,7 +194,8 @@ static void job_errors(int fd, short args, void *cbdata) return; } /* pack the room number */ - if (orte_get_attribute(&jdata->attributes, ORTE_JOB_ROOM_NUM, (void**)&room, OPAL_INT)) { + rmptr = &room; + if (orte_get_attribute(&jdata->attributes, ORTE_JOB_ROOM_NUM, (void**)&rmptr, OPAL_INT)) { if (ORTE_SUCCESS != (ret = opal_dss.pack(answer, &room, 1, OPAL_INT))) { ORTE_ERROR_LOG(ret); ORTE_FORCED_TERMINATE(ORTE_ERROR_DEFAULT_EXIT_CODE);