1
1

Handle the case of someone specifying a directory for the application. Ensure we get a non-zero exit status and clarify the error message.

cmr:v1.7

This commit was SVN r28119.
Этот коммит содержится в:
Ralph Castain 2013-02-27 01:36:21 +00:00
родитель f36312ee6f
Коммит 347df93cd4
3 изменённых файлов: 10 добавлений и 4 удалений

Просмотреть файл

@ -1389,6 +1389,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
if (opal_sys_limits.num_files < limit) {
if (2 < caddy->retries) {
/* tried enough - give up */
child->exit_code = ORTE_PROC_STATE_FAILED_TO_LAUNCH;
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_LAUNCH);
continue;
}
@ -1478,6 +1479,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
*/
if (ORTE_SUCCESS != (rc = setup_child(child, jobdat, app))) {
ORTE_ERROR_LOG(rc);
child->exit_code = rc;
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_LAUNCH);
continue;
}
@ -1499,6 +1501,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
&(app->argv),
&(app->env) ) ) ) {
ORTE_ERROR_LOG(rc);
child->exit_code = ORTE_PROC_STATE_FAILED_TO_LAUNCH;
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_LAUNCH);
continue;
}
@ -1539,6 +1542,7 @@ void orte_odls_base_default_launch_local(int fd, short sd, void *cbdata)
* across the entire cluster. Instead, we let orterun
* output a consolidated error message for us
*/
child->exit_code = ORTE_ERR_SILENT; /* error message already output */
ORTE_ACTIVATE_PROC_STATE(&child->name, ORTE_PROC_STATE_FAILED_TO_START);
continue;
} else {

Просмотреть файл

@ -22,13 +22,15 @@
#
[execve error]
Open MPI tried to fork a new process via the "execve" system call but
failed. This is an unusual error because Open MPI checks many things
before attempting to launch a child process. This error may be
indicative of another problem on the target host. Your job will now
failed. Open MPI checks many things before attempting to launch a
child process, but nothing is perfect. This error may be indicative
of another problem on the target host, or even something as silly as
having specified a directory for your application. Your job will now
abort.
Local host: %s
Application name: %s
Error: %s
#
[binding not supported]
Open MPI tried to bind a new process, but process binding is not

Просмотреть файл

@ -627,7 +627,7 @@ static int do_child(orte_app_context_t* context,
execve(context->app, context->argv, environ_copy);
send_error_show_help(write_fd, 1,
"help-orte-odls-default.txt", "execve error",
context->app, strerror(errno));
orte_process_info.nodename, context->app, strerror(errno));
/* Does not return */
}