If an executable isn't found, it's possible for the state machine to hit the grpcomm with a zero-node map before we actually terminate with error. Silence the annoying malloc warning about zero-byte requests.
In a novm operation that only has the HNP, ensure the #nodes gets set Clean up the error reporting
Этот коммит содержится в:
родитель
1607daeb10
Коммит
986a8c1d48
@ -311,6 +311,11 @@ static int create_dmns(orte_grpcomm_signature_t *sig,
|
|||||||
return ORTE_ERR_NOT_FOUND;
|
return ORTE_ERR_NOT_FOUND;
|
||||||
}
|
}
|
||||||
/* get the array */
|
/* get the array */
|
||||||
|
if (0 == jdata->map->num_nodes) {
|
||||||
|
ORTE_UPDATE_EXIT_STATUS(ORTE_ERROR_DEFAULT_EXIT_CODE);
|
||||||
|
ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM);
|
||||||
|
return ORTE_ERR_SILENT;
|
||||||
|
}
|
||||||
dns = (orte_vpid_t*)malloc(jdata->map->num_nodes * sizeof(vpid));
|
dns = (orte_vpid_t*)malloc(jdata->map->num_nodes * sizeof(vpid));
|
||||||
nds = 0;
|
nds = 0;
|
||||||
for (i=0; i < jdata->map->nodes->size && (int)nds < jdata->map->num_nodes; i++) {
|
for (i=0; i < jdata->map->nodes->size && (int)nds < jdata->map->num_nodes; i++) {
|
||||||
|
@ -1652,6 +1652,7 @@ int orte_plm_base_setup_virtual_machine(orte_job_t *jdata)
|
|||||||
"%s plm:base:setup_vm only HNP in use",
|
"%s plm:base:setup_vm only HNP in use",
|
||||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||||
OBJ_DESTRUCT(&nodes);
|
OBJ_DESTRUCT(&nodes);
|
||||||
|
map->num_nodes = 1;
|
||||||
/* mark that the daemons have reported so we can proceed */
|
/* mark that the daemons have reported so we can proceed */
|
||||||
daemons->state = ORTE_JOB_STATE_DAEMONS_REPORTED;
|
daemons->state = ORTE_JOB_STATE_DAEMONS_REPORTED;
|
||||||
return ORTE_SUCCESS;
|
return ORTE_SUCCESS;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user