ISIS Documentation
Error DictionaryReference of error messages, their meanings, and resolving errors | Home |
This dictionary contains information regarding the various classes of errors that can occur in ISIS programs. Below is a table of the classes of errors with accompanying error codes. The code is sent to the operating system when a program exits due to an error.
Class | Code |
---|---|
User Error | 1 |
Programmer Error | 2 |
PVL Error | 3 |
I/O Error | 5 |
Camera Error | 6 |
Projection Error | 7 |
Parse Error | 8 |
System Error | 255 |
This error occurs when the user chooses values for input parameters that are invalid. Examples include entering 1) a negative integer when the parameter only allows positive integers, 2) parameters that do not exist in a program (usually a typo), and 3) entering a value not in a required list (8bit, 16bit, 32bit). The error is almost always related to the user input provided in either the ISIS GUI or on the command line.
This should be a rare error. It occurs when the programmer supplied invalid information to a C++ class and/or method. Generally, these errors are caught by the programmer during the development stage of the software. They can occur under unusual circumstances such as array out-of-bounds or memory leaks. Users should report these errors to the ISIS Support Site.
ISIS makes heavy use of Parameter Value Language (PVL). The most common error that can occur with PVL is requesting parameter-values (Objects, Groups, or Keywords) that do not exist. Generally, the PVL error message is the most specific information in a stack of error messages. For example,
** PVL ERROR** Could not find requested keyword [SpacecraftName] ** LABEL ERROR** Error in label file [moon.cub] ** CAMERA ERROR ** Unable to initialize camera model
Errors of this nature are directly related to file I/O. This includes opening, closing, reading, or writing files. These errors could include 1) non-existent file on open/allocate, generally caused by a misspelling or wrong directory paths, 2) read and/or write permission violations based on user or group ownership, and 3) insufficient disk space for allocation of an output file.
Generally, a handful of conditions can cause a camera error. One of the most common is the cube does not have Instrument and Kernels group and therefore is not a raw camera cube. Programs such as cam2map, camtrim, or others beginning with “cam” require such groups in the cube labels. If the cube has an Instrument group but not a Kernel group you should run the “caminit” program on your cube. Other sources of problems may include missing keywords in the Instrument group, invalid pointers to SPICE files in the kernel group, or unsupported instruments.
Projection errors occur when reading labels of a cube or a map file. In most cases, a require keyword is missing or there may be some type of syntax error with the map projection group. Another possibility is that the map projection is not supported by the ISIS system.
This error occurs when parsing command lines or PVL files. Generally, the syntax of a file or command line is not correct and can include problems such as missing quotes, parenthesis, equal signs, etc.
This error relates to operating system or instruction set errors. Example may include insufficient dynamic memory, out of bounds array errors, or division by zero. Often these errors are due to insufficient checks made by the programmer. Such error should be submitted to the ISIS support web site.