1
1

- Add an opal_show_help() to the pls fork module to explain what went wrong when the execv to start the application fails.

- Add a couple opal_show_help()'s to indicate when not enough slots/nodes are available to satisfy a request.

This commit was SVN r7555.
Этот коммит содержится в:
Andrew Friedley 2005-09-30 14:30:21 +00:00
родитель fcef1774d5
Коммит 82ee2933a5
6 изменённых файлов: 70 добавлений и 8 удалений

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

@ -17,6 +17,7 @@
# Use the top-level Makefile.options
dist_pkgdata_DATA = help-orte-pls-fork.txt
sources = \
pls_fork.h \

32
orte/mca/pls/fork/help-orte-pls-fork.txt Обычный файл
Просмотреть файл

@ -0,0 +1,32 @@
# -*- text -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# All rights reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the US/English general help file for Open RTE's orterun.
#
[orte-pls-fork:chdir-error]
Warning: Could not change to the working directory "%s".
The error returned was "%s".
This is not necessarily a fatal condition, and execution will continue.
[orte-pls-fork:execv-error]
Could not execute the executable "%s": %s
This could mean that your PATH or executable name is wrong, or that you do not
have the necessary permissions. Please ensure that the executable is able to be
found and executed.

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

@ -38,6 +38,7 @@
#include "opal/util/argv.h"
#include "opal/util/output.h"
#include "opal/mca/paffinity/base/base.h"
#include "opal/util/show_help.h"
#include "orte/util/sys_info.h"
#include "orte/util/univ_info.h"
#include "opal/util/opal_environ.h"
@ -222,8 +223,8 @@ static int orte_pls_fork_proc(
}
#else
if(chdir(context->cwd) != 0) {
perror("chdir");
ORTE_ERROR_LOG(ORTE_ERR_BAD_PARAM);
opal_show_help("help-orte-pls-fork.txt", "orte-pls-fork:chdir-error",
true, context->cwd, strerror(errno));
}
#endif
@ -327,9 +328,8 @@ static int orte_pls_fork_proc(
/* Exec the new executable */
execve(context->app, context->argv, environ_copy);
opal_output(0, "orte_pls_fork: %s - %s\n", context->app,
opal_argv_join(context->argv, ' '));
opal_output(0, "orte_pls_fork: execv failed with errno=%d\n", errno);
opal_show_help("help-orte-pls-fork.txt", "orte-pls-fork:execv-error",
true, context->app, strerror(errno));
exit(-1);
} else {

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

@ -14,9 +14,7 @@
# $HEADER$
#
# Use the top-level Makefile.options
dist_pkgdata_DATA = help-orte-rmaps-rr.txt
sources = \
rmaps_rr.c \

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

@ -0,0 +1,24 @@
# -*- text -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# All rights reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This is the US/English general help file for Open RTE's orterun.
#
[orte-rmaps-rr:alloc-error]
%d slots were requested, but only %d slots were available.
Either request fewer slots for your application, or make more slots available
for use.

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

@ -21,6 +21,7 @@
#include "include/orte_constants.h"
#include "include/orte_types.h"
#include "opal/util/output.h"
#include "opal/util/show_help.h"
#include "mca/ns/ns.h"
#include "mca/gpr/gpr.h"
#include "mca/rmaps/base/base.h"
@ -179,6 +180,8 @@ static int map_app_by_node(
/* Double check that the list is not empty */
if (opal_list_get_end(nodes) == cur_node_item) {
opal_show_help("help-orte-rmaps-rr.txt", "orte-rmaps-rr:alloc-error",
true, num_alloc, app->num_procs);
return ORTE_ERR_TEMP_OUT_OF_RESOURCE;
}
@ -186,6 +189,8 @@ static int map_app_by_node(
then we're full */
if (start == cur_node_item) {
if (!did_alloc) {
opal_show_help("help-orte-rmaps-rr.txt", "orte-rmaps-rr:alloc-error",
true, num_alloc, app->num_procs);
return ORTE_ERR_TEMP_OUT_OF_RESOURCE;
}
}
@ -273,6 +278,8 @@ static int map_app_by_slot(
/* Did we allocate everything? */
if (num_alloc < app->num_procs) {
opal_show_help("help-rmaps-rr.txt", "rmaps-rr:alloc-error",
true, num_alloc, app->num_procs);
return ORTE_ERR_OUT_OF_RESOURCE;
}