diff --git a/orte/mca/grpcomm/base/grpcomm_base_stubs.c b/orte/mca/grpcomm/base/grpcomm_base_stubs.c index 6c7662fd5e..7210c02e41 100644 --- a/orte/mca/grpcomm/base/grpcomm_base_stubs.c +++ b/orte/mca/grpcomm/base/grpcomm_base_stubs.c @@ -295,7 +295,19 @@ static int create_dmns(orte_grpcomm_signature_t *sig, return ORTE_ERR_NOT_FOUND; } if (NULL == jdata->map) { - ORTE_ERROR_LOG(ORTE_ERR_NOT_FOUND); + /* we haven't generated a job map yet - if we are the HNP, + * then we should only involve ourselves. Otherwise, we have + * no choice but to abort to avoid hangs */ + if (ORTE_PROC_IS_HNP) { + dns = (orte_vpid_t*)malloc(sizeof(vpid)); + dns[0] = ORTE_PROC_MY_NAME->vpid; + *ndmns = 1; + *dmns = dns; + return ORTE_SUCCESS; + } + ORTE_FORCED_TERMINATE(ORTE_ERR_NOT_FOUND); + *ndmns = 0; + *dmns = NULL; return ORTE_ERR_NOT_FOUND; } /* get the array */ diff --git a/orte/util/hostfile/hostfile.c b/orte/util/hostfile/hostfile.c index 45694dd830..c6f4f738ad 100644 --- a/orte/util/hostfile/hostfile.c +++ b/orte/util/hostfile/hostfile.c @@ -406,6 +406,7 @@ static int hostfile_parse_line(int token, opal_list_t* updates, break; case ORTE_HOSTFILE_STRING: + case ORTE_HOSTFILE_INT: /* just ignore it */ break;