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);
|
OPAL_LIST_DESTRUCT(&apps);
|
||||||
|
|
||||||
if (OPAL_SUCCESS != rc) {
|
if (OPAL_SUCCESS != rc) {
|
||||||
OMPI_ERROR_LOG(rc);
|
|
||||||
opal_progress_event_users_decrement();
|
opal_progress_event_users_decrement();
|
||||||
return MPI_ERR_SPAWN;
|
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);
|
PMIX_ERROR_LOG(rc);
|
||||||
ret = rc;
|
ret = rc;
|
||||||
}
|
}
|
||||||
|
if (PMIX_SUCCESS == ret) {
|
||||||
/* unpack the namespace */
|
/* unpack the namespace */
|
||||||
cnt = 1;
|
cnt = 1;
|
||||||
if (PMIX_SUCCESS != (rc = pmix_bfrop.unpack(buf, &n2, &cnt, PMIX_STRING))) {
|
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);
|
pmix_client_process_nspace_blob(nspace, buf);
|
||||||
free(n2);
|
free(n2);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (NULL != cb->spawn_cbfunc) {
|
if (NULL != cb->spawn_cbfunc) {
|
||||||
cb->spawn_cbfunc(ret, nspace, cb->cbdata);
|
cb->spawn_cbfunc(ret, nspace, cb->cbdata);
|
||||||
|
@ -1483,6 +1483,7 @@ static void _spcb(int sd, short args, void *cbdata)
|
|||||||
cd->active = false;
|
cd->active = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (PMIX_SUCCESS == cd->status) {
|
||||||
/* add any job-related info we have on that nspace - this will
|
/* add any job-related info we have on that nspace - this will
|
||||||
* include the name of the nspace */
|
* include the name of the nspace */
|
||||||
nptr = NULL;
|
nptr = NULL;
|
||||||
@ -1498,6 +1499,8 @@ static void _spcb(int sd, short args, void *cbdata)
|
|||||||
} else {
|
} else {
|
||||||
pmix_bfrop.copy_payload(reply, &nptr->server->job_info);
|
pmix_bfrop.copy_payload(reply, &nptr->server->job_info);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* the function that created the server_caddy did a
|
/* the function that created the server_caddy did a
|
||||||
* retain on the peer, so we don't have to worry about
|
* retain on the peer, so we don't have to worry about
|
||||||
* it still being present - tell the originator the result */
|
* 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;
|
orte_proc_t *aborted_proc;
|
||||||
opal_buffer_t *answer;
|
opal_buffer_t *answer;
|
||||||
int32_t rc, ret;
|
int32_t rc, ret;
|
||||||
int room;
|
int room, *rmptr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if orte is trying to shutdown, just let it
|
* if orte is trying to shutdown, just let it
|
||||||
@ -194,7 +194,8 @@ static void job_errors(int fd, short args, void *cbdata)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* pack the room number */
|
/* 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))) {
|
if (ORTE_SUCCESS != (ret = opal_dss.pack(answer, &room, 1, OPAL_INT))) {
|
||||||
ORTE_ERROR_LOG(ret);
|
ORTE_ERROR_LOG(ret);
|
||||||
ORTE_FORCED_TERMINATE(ORTE_ERROR_DEFAULT_EXIT_CODE);
|
ORTE_FORCED_TERMINATE(ORTE_ERROR_DEFAULT_EXIT_CODE);
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user