Previous | Contents | Index |
Conditions can be encountered of such severity that compilation must be terminated at once. These conditions are caused by hardware errors, software errors, and errors that require changing the FORTRAN command. Printed messages have the form:
%F90-F-MNEMONIC, error_text |
The first line of the message contains the appropriate file specification or keyword involved in the error. The operating system supplies more specific information about the error whenever possible. For example, a file read error might produce the following error message:
%F90-F-ERROR, error reading _DBA0:[SMITH]MAIN.FOR;3 -RMS-W-RTB, 512 byte record too big for user's buffer -F90-F-ABORT, abort |
The secondary operating system (in this case the RMS facility) message
provides helpful information about the actual cause of the error, as
described in the OpenVMS System Messages and Recovery Procedures Reference Manual or the equivalent OpenVMS HELP/MESSAGE
facility.
C.3 Messages from the HP Fortran Run-Time System
Errors that occur during execution of your HP Fortran program are reported by diagnostic messages from the HP Fortran Run-Time Library (RTL). These messages may result from hardware conditions, file system errors, errors detected by RMS, errors that occur during transfer of data between the program and an internal record, computations that cause overflow or underflow, incorrect calls to the HP Fortran RTL, problems in array descriptions, and conditions detected by the operating system.
As described in Section 7.2, the severity of run-time diagnostic messages can be fatal (F), error (E), warning (W), and informational (I).
The following example shows how run-time messages appear:
%FOR-F-ADJARRDIM, adjustable array dimension error |
Table C-1 is an alphabetical list of run-time diagnostic messages, without the message prefixes FOR, SS, and MTH. (Refer to Table 7-1 for a list of the messages in error-number sequence.) For each message, Table C-1 gives a mnemonic, the message number, the severity of the message, the message text, and an explanation of the message.
You can also view a description of specified messages using the following command:
$ HELP FORTRAN RUN_TIME |
This displays the mnemonics of all HP Fortran run-time diagnostic messages. You can abbreviate the HELP command words and specify a specific error mnemonic, such as:
$ HELP FORTRAN RUN FILNOTFOU |
Mnemonic | Number | Severity Code, Message Text, and Explanation |
---|---|---|
ADJARRDIM | 93 |
F, adjustable array dimension error
Upon entry to a subprogram, one of the following errors was detected during the evaluation of dimensioning information:
|
ARRSIZEOVF | 179 |
F, Cannot allocate array --- overflow on array size calculation
An attempt to dynamically allocate storage for an array failed because the required storage size exceeds addressable memory. |
ASSERTERR | 145 |
F, assertion error
The HP Fortran RTL encountered an assertion error. Please report the problem to HP. |
ATTACCNON | 36 |
F, attempt to access non-existent record
One of the following conditions occurred:
|
BACERR | 23 |
F, BACKSPACE error
During execution of a BACKSPACE statement, One of the following conditions occurred:
|
BUG_CHECK | 8 |
F, internal consistency check failure
Internal severe error. Please check that the program is correct. Recompile if an error existed in the program. If this error persists, report the problem to HP. |
CLOERR | 28 |
F, CLOSE error
An error condition was detected by RMS during execution of a CLOSE statement. |
DELERR | 55 |
F, DELETE error
During execution of a DELETE statement, one of the following conditions occurred:
|
DIRIO_KEY | 258 |
F, direct-access I/O to unit open for keyed access
The OPEN statement for this unit number specified keyed access and the I/O statement specifies direct access. Check the OPEN statement and make sure the I/O statement uses the correct unit number and type of access. (For more information on statements, see the HP Fortran for OpenVMS Language Reference Manual.) |
DIV | 178 |
F, divide by zero
A floating point or integer divide by zero exception occurred. |
DUPFILSPE | 21 |
F, duplicate file specifications
Multiple attempts were made to specify file attributes without an intervening close operation. A DEFINE FILE statement was followed by another DEFINE FILE statement or by an OPEN statement. |
ENDDURREA | 24 |
F, end-of-file during read
One of the following conditions occurred:
|
ENDFILERR | 33 |
F, ENDFILE error
One of the following conditions occurred:
|
ENDRECDUR | 268 |
F, end of record during read
An end-of-record condition was encountered during execution of a nonadvancing I/O READ statement that did not specify the EOR branch specifier. |
ERRDURREA | 39 |
F, error during read
RMS detected an error condition during execution of a READ statement. |
ERRDURWRI | 38 |
F, error during write
RMS detected an error condition during execution of a WRITE statement. |
FILNAMSPE | 43 |
F, file name specification error
A file-name specification given to an OPEN or INQUIRE statement was not acceptable to RMS. |
FILNOTFOU | 29 |
F, file not found
A file with the specified name could not be found during an open operation. |
FINERR | 57 |
F, FIND error
RMS detected an error condition during execution of a FIND statement. |
FLOCONFAI | 95 |
E, floating point conversion failed
The attempted unformatted read or write of nonnative floating-point data failed. One of the following conditions occurred for a nonnative floating-point value:
Make sure the correct file was specified. Make sure the record layout matches the format HP Fortran is expecting. Check that the correct nonnative floating-point data format was specified, as described in Chapter 9. |
FLODIV0EXC | 299 |
I,
nn divide-by-zero traps
The total number of floating-point divide-by-zero traps encountered during program execution was nn. This summary message appears at program completion. |
FLOINCEXC | 297 |
I,
nn floating invalid traps
The total number of floating-point invalid data traps encountered during program execution was nn. This summary message appears at program completion. |
FLOINEEXC | 296 |
I,
nn floating inexact traps
The total number of floating-point inexact data traps encountered during program execution was nn. This summary message appears at program completion. |
FLOOVEMAT | 88 |
F, floating overflow in math library
A floating overflow condition was detected during execution of a math library procedure. |
FLOOVREXC | 298 |
I,
nn floating overflow traps
The total number of floating-point overflow traps encountered during program execution was nn. This summary message appears at program completion. |
FLOUNDEXC | 300 |
I,
nn floating underflow traps
The total number of floating-point underflow traps encountered during program execution was nn. This summary message appears at program completion. |
FLOUNDMAT | 89 |
E, floating underflow in math library
A floating underflow condition was detected during execution of a math library procedure. The result returned was zero. |
FLTDIV | 73 |
E, zero divide
During a floating-point or decimal arithmetic operation, an attempt was made to divide by 0.0. |
FLTINE | 140 |
E, floating inexact
A floating-point arithmetic or conversion operation gave a result that differs from the mathematically exact result. This trap is reported if the rounded result of an IEEE operation is not exact. |
FLTINV | 65 |
E, floating invalid
During an arithmetic operation, the floating-point values used in a calculation were invalid for the type of operation requested, or invalid exceptional values. For example, when requesting a log of the floating-point values 0.0 or a negative number. For certain arithmetic expressions, specifying the /CHECK=NOPOWER qualifier can suppress this message (see Section 2.3.11). For information on allowing exceptional IEEE values, see Section 2.3.24. |
FLTOVF | 72 |
E, arithmetic trap, floating overflow
During an arithmetic operation, a floating-point value exceeded the largest representable value for that data type. The result returned was the reserved operand, --0 for VAX-format floating-point and NaN for IEEE-format floating-point. |
FLTUND | 74 |
E, floating underflow
During an arithmetic operation, a floating-point value became less than the smallest finite value for that data type and was replaced with a value of zero. When using the /FLOAT=IEEE_FLOAT, depending on the values of the /IEEE_MODE qualifier, the underflowed result was either set to zero or allowed to gradually underflow. See Chapter 8 for ranges of the various data types. |
FMTIO_UNF | 257 |
F, formatted I/O to unit open for unformatted transfers
Attempted formatted I/O (such as list-directed or namelist I/O) to a unit where the OPEN statement indicated the file was unformatted (FORM specifier). Check that the correct unit (file) was specified. If the FORM specifier was not specified in the OPEN statement and the file should contain formatted data, specify FORM='FORMATTED' in the OPEN statement. Otherwise, if appropriate, use unformatted I/O. |
FMYSYN | 58 |
I, format syntax error at or near
xxx
Check the statement containing xx, a character substring from the format string, for a format syntax error. For information about FORMAT statements, refer to the HP Fortran for OpenVMS Language Reference Manual. |
FORVARMIS | 61 |
F or I, format/variable-type mismatch
An attempt was made either to read or write a real variable with an integer field descriptor (I, L, O, Z, B), or to read or write an integer or logical variable with a real field descriptor (D, E, or F). If /CHECK=NOFORMAT is in effect (see Section 2.3.11), the severity is I (program continues). If execution continues, the following actions occurred:
To suppress this error message, see Section 2.3.11. |
INCFILORG | 51 |
F, inconsistent file organization
One of the following conditions occurred:
|
INCKEYCHG | 50 |
F, inconsistent key change or duplicate key
A WRITE or REWRITE statement accessing an indexed organization file caused a key field to change or be duplicated. This condition was not allowed by the attributes of the file, as established when the file was created. |
INCOPECLO | 46 |
F, inconsistent OPEN/CLOSE parameters
Specifications in an OPEN or CLOSE statement were inconsistent. Some invalid combinations follow:
|
INCRECLEN | 37 |
F, inconsistent record length
One of the following occurred:
|
INCRECTYP | 44 |
F, inconsistent record type
The RECORDTYPE value in an OPEN statement did not match the record type attribute of the existing file that was opened. |
INFFORLOO | 60 |
F, infinite format loop
The format associated with an I/O statement that included an I/O list had no field descriptors to use in transferring those values. |
INPCONERR | 64 |
F, input conversion error
During a formatted input operation, an invalid character was detected in an input field, or the input value overflowed the range representable in the input variable. The value of the variable was set to zero. |
INPRECTOO | 22 |
F, input record too long
A record was read that exceeded the explicit or default record length specified when the file was opened. To read the file, use an OPEN statement with a RECL value of the appropriate size. |
INPSTAREQ | 67 |
F, input statement requires too much data
Attempted to read more data than exists in a record with an unformatted READ statement or with a formatted sequential READ statement from a file opened with a PAD specifier value of ' NO ' . |
INSVIRMEM | 41 |
F, insufficient virtual memory
The HP Fortran Run-Time Library attempted to exceed its virtual page limit while dynamically allocating space. Inform your system manager that process quotas and/or system parameters need to be increased. For information about virtual memory use, see Section 1.2 and the HP Fortran Installation Guide for OpenVMS I64 Systems or HP Fortran Installation Guide for OpenVMS Alpha Systems. |
INTDIV | 71 |
F, integer zero divide
During an integer arithmetic operation, an attempt was made to divide by zero. The result of the operation was set to the dividend, which is equivalent to division by one (1). |
INTOVF | 70 |
F, integer overflow
During an arithmetic operation, an integer value exceeded its range. The result of the operation was the correct low-order part. Consider specifying a larger integer data size (or use the /INTEGER_SIZE qualifier for INTEGER declarations without a kind or specifier.) See Chapter 8 for ranges of the various integer data types. |
INVARGFOR | 48 |
F, invalid argument to Fortran Run-Time Library
The HP Fortran compiler passed an invalid coded argument to the Run-Time Library. This can occur if the compiler is newer than the HP Fortran RTL in use. |
INVARGMAT | 81 |
F, invalid argument to math library
One of the mathematical procedures detected an invalid argument value. |
INVDEALLOC | 153 |
F, allocatable array is not allocated
A Fortran allocatable array or pointer must already be allocated when you attempt to deallocate it. You must allocate the array or pointer before it can again be deallocated. |
INVDEALLOC2 | 173 |
F, A pointer passed to DEALLOCATE points to an array that cannot be
deallocated
A pointer that was passed to DEALLOCATE pointed to an explicit array, an array slice, or some other type of memory that could not be deallocated in a DEALLOCATE statement. Only whole arrays previously allocated with an ALLOCATE statement can be validly passed to DEALLOCATE. |
INVKEYSPE | 49 |
F, invalid key specification
A key specification in an OPEN statement or in a keyed access READ statement was invalid. For example, the key length may have been zero or greater than 255 bytes, or the key length may not conform to the key specification of the existing file. |
INVLOGUNI | 32 |
F, invalid logical unit number
A logical unit number less than zero or greater than 2,147,483,647 was used in an I/O statement. |
INVMATKEY | 94 |
F, invalid key match specifier for key direction
A keyed READ used an invalid key match specifier for the direction of that key. Use KEYGE and KEYGT only on ascending keys. Use KEYLE and KEYLT only on descending keys. Use KEYNXT and KEYNXTNE to avoid enforcement of key direction and match specifier. |
INVREALLOC | 151 |
F, allocatable array is already allocated
A Fortran allocatable array must not already be allocated when you attempt to allocate it. You must deallocate the array before it can again be allocated. |
INVREFVAR | 19 |
F, invalid reference to variable in NAMELIST input
The variable in error is shown as "varname" in the message text. One of the following conditions occurred:
|
KEYIO_DIR | 260 |
F, keyed-access I/O to unit open for direct access
The OPEN for this unit number specified direct access and the I/O statement specifies keyed access. Check the OPEN statement and make sure the I/O statement uses the correct unit number and type of access. (For more information on statements, see the HP Fortran for OpenVMS Language Reference Manual.) |
KEYVALERR | 45 |
F, keyword value error in OPEN statement
An improper value was specified for an OPEN or CLOSE statement keyword specifier requiring a value. |
LISIO_SYN | 59 |
F, list-directed I/O syntax error
The data in a list-directed input record had an invalid format, or the type of the constant was incompatible with the corresponding variable. The value of the variable was unchanged. |
LOGZERNEG | 83 |
F, logarithm of zero or negative value
An attempt was made to take the logarithm of zero or a negative number. The result returned was --0 for VAX-format floating-point and NaN for IEEE-format floating-point. |
MIXFILACC | 31 |
F, mixed file access modes
One of the following conditions occurred:
|
NOTFORSPE | 1 |
F, not a Fortran-specific error
An error occurred in the user program or in the HP Fortran RTL that was not a Fortran-specific error. |
NO_CURREC | 53 |
F, no current record
A REWRITE or current record DELETE operation was attempted when no current record was defined. To define the current record, execute a successful READ statement. You can optionally perform an INQUIRE statement on the logical unit after the READ statement and before the REWRITE statement. No other operations on the logical unit may be performed between the READ and REWRITE statements. |
NO_SUCDEV | 42 |
F, no such device
A file specification included an invalid or unknown device name when an OPEN operation was attempted. |
NULPTRERR | 146 |
F, null pointer error
Attempted to use a pointer that does not contain an address. Modify the source program, recompile, and relink. |
OPEDEFREQ | 26 |
F, OPEN or DEFINE FILE required for keyed or direct access
One of the following conditions occurred:
|
OPEFAI | 30 |
F, open failure
An error was detected by RMS while attempting to open a file in an OPEN, INQUIRE, or other I/O statement. This message is issued when the error condition is not one of the more common conditions for which specific error messages are provided. It can occur when an OPEN operation was attempted for one of the following:
|
OPEREQSEQ | 265 |
F, operation requires sequential file organization and access
Attempted BACKSPACE operation for a unit that is not connected to a sequential file opened for sequential access. Make sure the BACKSPACE statement specified the right unit number and the OPEN statement specified the correct file and access. |
OPERREQDIS | 264 |
F, operation requires file to be on disk or tape
Attempted BACKSPACE operation for a unit that is not connected to a disk or tape device. Make sure the BACKSPACE statement specified the right unit number and the OPEN statement specified the correct device. |
OUTCONERR | 63 |
E or I, output conversion error
During a formatted output operation, the value of a particular number could not be output in the specified field length without loss of significant digits. If /CHECK=NOOUTPUT_CONVERSION is in effect (see Section 2.3.11), the severity is I (program continues). When /CHECK=NOOUTPUT_CONVERSION is in effect or if no ERR address is defined for the I/O statement encountering this error, the program continues and the entire overflowed field is filled with asterisks to indicate the error in the output record. |
OUTSTAOVE | 66 |
F, output statement overflows record
An output statement attempted to transfer more data than would fit in the maximum record size. |
RANGEERR | 150 |
F, range error
An integer value appears in a context where the value of the integer is outside the permissible range. |
RECIO_OPE | 40 |
F, recursive I/O operation
While processing an I/O statement for a logical unit, another I/O operation on the same logical unit was attempted. One of the following conditions may have occurred:
|
RECNUMOUT | 25 |
F, record number outside range
A direct access READ, WRITE, or FIND statement specified a record number outside the range specified when the file was created. |
RESACQFAI | 152 |
F, unresolved contention for HP Fortran RTL global resource.
Failed to acquire an HP Fortran RTL global resource for a reentrant routine. For a multithreaded program, the requested global resource is held by a different thread in your program. For a program using asynchronous handlers, the requested global resource is held by the calling part of the program (such as the main program) and your asynchronous handler attempted to acquire the same global resource. |
REWERR | 20 |
F, REWIND error
One of the following conditions occurred:
|
REWRITERR | 54 |
F, REWRITE error
RMS detected an error condition during execution of a REWRITE statement. |
ROPRAND | 144 |
F, reserved operand
The HP Fortran encountered a reserved operand. Please report the problem to HP. |
SEGRECFOR | 35 |
F, segmented record format error
An invalid segmented record control data word was detected in an unformatted sequential file. The file was probably either created with RECORDTYPE='FIXED' or 'VARIABLE' in effect, or was created by a program written in a language other than Fortran. |
SEQIO_DIR | 259 |
F, sequential-access I/O to unit open for direct access
The OPEN for this unit number specified direct access and the I/O statement specifies sequential access. Check the OPEN statement and make sure the I/O statement uses the correct unit number and type of access. (For more information on statements, see the HP Fortran for OpenVMS Language Reference Manual.) |
SHORTDATEARG | 175 |
F, DATE argument to DATE_AND_TIME is too short (LEN=n), required LEN=8
The number of characters associated with the DATE argument to the DATE_AND_TIME intrinsic was shorter than the required length. You must increase the number of characters passed in for this argument to be at least 8 characters in length. Verify that the TIME and ZONE arguments also meet their minimum lengths. |
SHORTTIMEARG | 176 |
F, TIME argument to DATE_AND_TIME is too short (LEN=n), required LEN=10
The number of characters associated with the TIME argument to the DATE_AND_TIME intrinsic was shorter than the required length. You must increase the number of characters passed in for this argument to be at least 10 characters in length. Verify that the DATE and ZONE arguments also meet their minimum lengths. |
SHORTZONEARG | 177 |
F, ZONE argument to DATE_AND_TIME is too short (LEN=n), required LEN=5
The number of characters associated with the ZONE argument to the DATE_AND_TIME intrinsic was shorter than the required length. You must increase the number of characters passed in for this argument to be at least 5 characters in length. Verify that the TIME and DATE arguments also meet their minimum lengths. |
SIGLOSMAT | 87 |
F, significance lost in math library
The magnitude of an argument or the magnitude of the ratio of the arguments to a math library function was so large that all significance in the result was lost. The result returned was the reserved operand, -0. |
SPERECLOC | 52 |
F, specified record locked
A read operation or direct access write, find, or delete operation was attempted on a record that was locked by another user. |
SQUROONEG | 84 |
F, square root of negative value
An argument required the evaluation of the square root of a negative value. The result returned was the reserved operand, --0 for VAX-format floating-point and NaN for IEEE-format floating-point. |
STKOVF | 147 |
F, stack overflow
The HP Fortran RTL encountered a stack overflow while executing your program. |
STRLENERR | 148 |
F, string length error
During a string operation, an integer value appears in a context where the value of the integer is outside the permissible string length range. Try recompiling with /CHECK=BOUNDS or examine source code. |
SUBRNG | 77 |
F, subscript out of range
An array reference was detected outside the declared array bounds. |
SUBSTRERR | 149 |
F, substring error
An array subscript is outside the dimensioned boundaries of an array. Try recompiling with /CHECK=BOUNDS or examine source code. |
SYNERRFOR | 62 |
F, syntax error in format
A syntax error was encountered while the HP Fortran RTL was processing a format stored in an array or character variable. |
SYNERRNAM | 17 |
F, syntax error in NAMELIST input "text"
The syntax of input to a namelist-directed READ statement was incorrect. (The part of the record in which the error was detected is shown as "text" in the message text.) |
TOOMANREC | 27 |
F, too many records in I/O statement
One of the following conditions occurred:
|
TOOMANVAL | 18 |
F, too many values for NAMELIST variable "varname"
An attempt was made to assign too many values to a variable during a namelist-directed READ statement. (The name of the variable is shown as "varname" in the message text.) |
UNDEXP | 82 |
F, undefined exponentiation
An exponentiation that is mathematically undefined was attempted, for example, 0.**0. The result returned for floating-point operations was --0 for VAX-format floating-point and NaN for IEEE-format floating-point. For integer operations, zero is returned. |
UNFIO_FMT | 256 |
F, unformatted I/O to unit open for formatted transfers
Attempted unformatted I/O to a unit where the OPEN statement indicated the file was formatted (FORM specifier). Check that the correct unit (file) was specified. If the FORM specifier was not specified in the OPEN statement and the file should contain unformatted data, specify FORM= ' UNFORMATTED ' in the OPEN statement. Otherwise, if appropriate, use formatted I/O (such as list-directed or namelist I/O). |
UNIALROPE | 34 |
F, unit already open
A DEFINE FILE statement specified a logical unit that was already opened. |
UNLERR | 56 |
F, UNLOCK error
RMS detected an error condition during execution of an UNLOCK statement. |
VFEVALERR | 68 |
F, variable format expression value error
The value of a variable format expression was not within the range acceptable for its intended use; for example, a field width was less than or equal to zero. A value of one was assumed, except for a P edit descriptor, for which a value of zero was assumed. |
WRIREAFIL | 47 |
F, write to READONLY file
A write operation was attempted to a file that was declared ACTION= ' READ ' or READONLY in the OPEN statement that is currently in effect. |
WRONUMARG | 80 |
F, wrong number of arguments
An improper number of arguments was used to call a math library procedure. |
Previous | Next | Contents | Index |