Fix segfault upon job error
Silence some unnecessary error-logs
Этот коммит содержится в:
родитель
bc9e5652ff
Коммит
459f169e06
@ -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;
|
||||
}
|
||||
|
@ -192,6 +192,7 @@ static void wait_cbfunc(struct pmix_peer_t *pr, pmix_usock_hdr_t *hdr,
|
||||
PMIX_ERROR_LOG(rc);
|
||||
ret = rc;
|
||||
}
|
||||
if (PMIX_SUCCESS == ret) {
|
||||
/* unpack the namespace */
|
||||
cnt = 1;
|
||||
if (PMIX_SUCCESS != (rc = pmix_bfrop.unpack(buf, &n2, &cnt, PMIX_STRING))) {
|
||||
@ -204,6 +205,7 @@ static void wait_cbfunc(struct pmix_peer_t *pr, pmix_usock_hdr_t *hdr,
|
||||
pmix_client_process_nspace_blob(nspace, buf);
|
||||
free(n2);
|
||||
}
|
||||
}
|
||||
|
||||
if (NULL != cb->spawn_cbfunc) {
|
||||
cb->spawn_cbfunc(ret, nspace, cb->cbdata);
|
||||
|
@ -1483,6 +1483,7 @@ static void _spcb(int sd, short args, void *cbdata)
|
||||
cd->active = false;
|
||||
return;
|
||||
}
|
||||
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;
|
||||
@ -1498,6 +1499,8 @@ static void _spcb(int sd, short args, void *cbdata)
|
||||
} 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 */
|
||||
|
@ -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);
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user