The framework defines a number of standardized exit status codes. These codes are the numeric exit values of the application, the loader, the shell, or any task. Each numeric value is associated to a particular error and error description.
Error status codes below 10 are fatal, they will require special attention. Error codes between 10 and 40 point to configuration problems. Error codes between 50 and 59 point to basic problems in a task, probably a bug. Error codes from 60 and above point to task configuration problems.
Success. If any command line option was used, then processing this option was successful. If the shell was started, then it terminated successfully.
An application did not find the SKB Framework executable. The framework installation was found, but no executable framework file. This is very likely a permission problem of the framework installation.
The application did not find the SKB Framework installed.
The environment $SKB_FRAMEWORK_HOME
was set and pointed to an existing directory.
However, there was no executable skb-framework
found in this directory.
This might be a permission problem on the framework executable.
The setting for $SKB_FRAMEWORK_HOME
was found in the environment, but it does not point to an existing directory.
Try to unset SKB_FRAMEWORK_HOME
from the environment, or set to an existing directory.
The application is not able to set the application home directory. It has tried all implemented options (environment, readlink, dirname). Fix this problem by setting the application home in the environment.
The framework is not able to set the home directory, here $SF_HOME
.
It tried the environment, readlink, and dirname.
This problem is an internal problem, probably am incorrect installation or a bug in starting the application.
The framework did find its home directory, but not the application loader script. This error points to a serious problem with the framework installation, or a permission problem on starting the loader.
The program was not executed with bash version 4 (or later). Since it uses associative arrays, bash 4 is a requirement to run the program. Please install bash version 4 or later.
The application did not find GNU getopt
.
This software is required for command line argument parsing in the framework and many tasks.
Please install the correct getopt
version.
The loader did not find the tool bc
being installed.
This tool is required for a number of calculations of the application.
Please install bc
on your system.
The loader did not find the tool mktemp
being installed.
This tool is required for creating temporary files.
Please install mktemp
on your system.
Unknown base name or flavor. The start script is used for multiple programs. At the beginning of the initialization, it detects the current flavor (using the script name). If the flavor found is not known, it will exit with this status. This should not happen in an installed version. If it does, than the installation was broken (build) or manipulated (after installation).
The program requires a setting for its home directory. The setting can be done in the environment or via a configuration file. If the setting is not found, the initialization will terminate with this code. See parameters (HOME) for details.
No home directory found. The setting for home directory did either not point to a directory or the directory is not accessible. Check the setting or the directory.
This is an internal loader error: the script name of the application was not set. This error is pointing to an application bug.
This is an internal loader error: the application name was not set. This error is pointing to an application bug.
The loader did not find a required version file, for either the application or the framework.
The application version file should be $APP_HOME/etc/version.txt
.
The framework version file should be $FW_HOME/etc/version.txt
.
Each of these file must contain a single line with the version, usually using semantic versioning.
This error points to an application bug or installation error.
The loader attempted to create a temporary directory for the application. This attempt failed. Please check the permissions for the temporary directory.
The loader did find or could create the temporary directory, but then could not write to it. Please check the permissions for the temporary directory.
The loader did experience errors while declaring parameters. This error points to an application bug or installation error. It should only happen when one or more parameter declarations are faulty.
The loader did experience errors while declaring CLI options. This error points to an application bug or installation error. It should only happen when one or more option declarations are faulty.
Internal error: unresolved CLI options. This error points to a bug in the software. It means that the shell or a task were presented with unexpected CLI options. Those options should have been processed by the program.
The program detected an unknown argument in the command line.
Some CLI option (or argument) was used that the program does not understand.
If --help
does not show this option, than it is unknown.
If the help screen does show the options, than there is a bug in the software.
The loader did experience errors while declaring shell commands. This error points to an application bug or installation error. It should only happen when one or more command declarations are faulty.
The loader did experience errors while declaring exit status. This error points to an application bug or installation error. It should only happen when one or more exit status declarations are faulty.
The loader did experience errors while declaring dependencies. This error points to an application bug or installation error. It should only happen when one or more dependency declarations are faulty.
The loader did experience errors while declaring tasks. This error points to an application bug or installation error. It should only happen when one or more task declarations are faulty.
Available tasks (from bin/tasks
in the program home directory) are loaded.
Several tests are run for each task while loading.
If any of those tests failed, this error code will be used on exit.
Any error here is a development issue (or bug).
Detailed error messages with have been printed.
A setting that was marked as required was not found during initialization. A more detailed error message will have been printed, e.g. naming the missing parameter or parameters.
During initialization, all parameters for directories are tested. One or more of those tests failed. This can happen for parameters that do not (but should) point to a (readable) directory. It can also happen for directories that will be created if they do not exist, and the creation failed. In any case, detailed error message will have been printed.
The loader did experience errors while declaring scenarios. This error points to an application bug or installation error. It should only happen when one or more scenario declarations are faulty.
The process of one or more scenarios failed, i.e. some scenario requirements could not be fulfilled.
The loader got an unknown loader level from a CLI command.
The loader got an unknown shell level from a CLI command.
The loader got an unknown task level from a CLI command.
Internal error: unresolved CLI options. This error points to a bug in the software. It means that the shell or a task were presented with unexpected CLI options. Those options should have been processed by the program.
The program detected an unknown argument in the command line.
Some CLI option (or argument) was used that the program does not understand.
If --help
does not show this option, than it is unknown.
If the help screen does show the options, than there is a bug in the software.
A task was started outside the framework or an application. This errors occurs if no temporary configuration file was provided for a task execution. Please do not execute a task outside the framework or application.
A task found an error while parsing its CLI arguments. This error points to a bug in the task implementation.
A task has found an error in its command line. This happens when a task is parsing the command line and detects one or more unknown options. Detailed error messages should have been printed.