DIGITAL Fortran 90
User Manual for
DIGITAL UNIX Systems


Previous Contents Index

8.2.3 Using the 3f Library Routines to Return Operating System Errors

You can obtain the most recent operating system error codes or display associated error messages by using the following 3f library routines:

For More Information:

8.3 Signal Handling

A signal is an abnormal event generated by one of various sources, such as:

You can optionally set certain events to issue signals, for example:

Some signals terminate the receiving process if no action is taken (optionally creating a core file), while others are simply ignored unless the process has requested otherwise.

Except for certain signals, calling the signal or sigaction routine (see signal(3f)) allows specified signals to be ignored or causes an interrupt (transfer of control) to the location of a user-written signal handler.

You can establish one of the following actions for a signal with a call to signal :

Calling the signal routine lets you change the action for a signal, such as intercepting an operating system signal and preventing the process from being stopped.

When starting a program, the DIGITAL Fortran 90 RTL arranges to catch the following signals:
Signal DIGITAL Fortran 90 RTL Message
SIGFPE Floating-point exception (number 75)
SIGINT Process interrupted (number 69)
SIGIOT IOT trap signal (number 76)
SIGQUIT Process quit (number 79)
SIGTERM Process killed (number 78)
SIGTRAP Array index out of bounds (SIGTRAP) and related SIGTRAP messages indicate various breakpoint exceptions (numbers 130-139)

Calling the signal routine (specifying the numbers for these signals) results in overwriting the signal-handling facility set up by the DIGITAL Fortran 90 RTL. The only way to restore the default action is to save the returned value from the first call to signal .

When using a debugger, it may be necessary to enter a command to allow the DIGITAL Fortran 90 RTL to receive and handle the appropriate signals, as described in Section 4.5.

For More Information:

8.4 List of Run-Time Messages

Table 8-2 lists the errors processed by the DIGITAL Fortran 90 RTL. For each error, the table provides the error number, the severity code, error message text, condition symbol name, and a detailed description of the errors.

To define the condition symbol values (PARAMETER statements) in your program, include the following file:

/usr/include/foriosdef.f

As described in Table 8-1, the severity of the message determines whether program execution continues (info and warning), the results may be incorrect (error), or program execution stops unless a recovery method is specified (severe).

When a severe error occurs for which no recovery method is specified, an error message is displayed and execution stops. To prevent program termination, you must include either an appropriate I/O error-handling specifier (see Section 8.2.1 and Section 8.2.2) and recompile or, for certain errors, change the default action of a signal (see Section 8.3) before you run the program again.

In Table 8-2, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The DIGITAL Fortran 90 error numbers are compatible with DIGITAL Fortran 77. Certain messages are specific to DIGITAL Fortran on DIGITAL UNIX systems, including most signal-related errors (such as error number 79, Process quit (SIGQUIT) and errors 130-139) listed in Table 8-2.

The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message.

This table is also provided in the online (ASCII) release notes file located in /usr/lib/cmplrs/fort90/relnotes . To view the explanation of a message, use the more command to display the file and type a slash (/) followed by the number or part of the message text (to initiate a search). For example, the following more command searches for number 68 (Variable format expression value error):


/68

If you have installed the Parallel Software Environment and compiled a program for parallel execution, additional messages specific to parallel execution may appear (see the DIGITAL High Performance Fortran 90 HPF and PSE Manual).

Table 8-2 Run-Time Error Messages and Explanations
Number Severity Level, Number, and Message Text; Condition Symbol and Explanation
None 1 info: Fortran error message number is nnn

The DIGITAL Fortran 90 message catalog file was not found on this system. For information about the message file location, see Section 8.1.2 or your DIGITAL Fortran installation guide. This error has no condition symbol.

None 1 warning: Could not open message catalog: for_msg.cat

The DIGITAL Fortran 90 message catalog file was not found on this system. See Section 8.1.2 or your DIGITAL Fortran installation guide for further information. This error has no condition symbol.

None 1 info: Check environment variable NLSPATH and protection of path-name/for_msg.dat

The DIGITAL Fortran 90 message catalog file was not found. For more information, see Section 8.1.2 or your DIGITAL Fortran installation guide. This error has no condition symbol.

None 1 Insufficient memory to open Fortran RTL catalog: message 41

The DIGITAL Fortran 90 message catalog file could not be opened because of insufficient virtual memory. To overcome this problem, increase the per-process data limit by using the limit (C shell) or ulimit (Bourne and Korn shells) commands (see Section 1.1) before running the program again.

For more information, see error 41. This error has no condition symbol.

1 1 severe (1): Not a Fortran-specific error

FOR$IOS_NOTFORSPE. An error in the user program or in the RTL was not a DIGITAL Fortran 90-specific error and was not reportable through any other DIGITAL Fortran 90 run-time messages. If you call ERRSNS, an error of this kind returns a value of 1 (for more information on the ERRSNS subroutine, see the DIGITAL Fortran Language Reference Manual).

8 severe (8): Internal consistency check failure

FOR$IOS_BUG_CHECK. Internal error. Please check that the program is correct. Recompile if an error existed in the program. If this error persists, submit an SPR.

9 severe (9): Permission to access file denied

FOR$IOS_PERACCFIL. Check the mode (protection) of the specified file. Make sure the correct file was being accessed. Change the protection, specified file, or process used before rerunning program.

10 severe (10): Cannot overwrite existing file

FOR$IOS_CAOVEEXI. Specified file xxx already exists when OPEN statement specified STATUS= ' NEW ' (create new file) using I/O unit x. Make sure correct file name, directory path, unit, and so forth were specified in the source program. Decide whether to:

  • Rename or remove the existing file before rerunning the program.
  • Modify the source file to specify different file specification, I/O unit, or OPEN statement STATUS.
11 info (11) 1: Unit not connected

FOR$IOS_UNINOTCON. The specified unit was not open at the time of the attempted I/O operation. Check if correct unit number was specified. If appropriate, use an OPEN statement to explicitly open the file (connect the file to the unit number).

17 severe (17): Syntax error in NAMELIST input

FOR$IOS_SYNERRNAM. The syntax of input to a namelist-directed READ statement was incorrect.

18 severe (18): Too many values for NAMELIST variable

FOR$IOS_TOOMANVAL. An attempt was made to assign too many values to a variable during a namelist READ statement.

19 severe (19): Invalid reference to variable in NAMELIST input

FOR$IOS_INVREFVAR. One of the following conditions occurred:

  • The variable was not a member of the namelist group.
  • An attempt was made to subscript a scalar variable.
  • A subscript of the array variable was out-of-bounds.
  • An array variable was specified with too many or too few subscripts for the variable.
  • An attempt was made to specify a substring of a noncharacter variable or array name.
  • A substring specifier of the character variable was out-of-bounds.
  • A subscript or substring specifier of the variable was not an integer constant.
  • An attempt was made to specify a substring by using an unsubscripted array variable.
20 severe (20): REWIND error

FOR$IOS_REWERR. One of the following conditions occurred:

  • The file was not a sequential file.
  • The file was not opened for sequential or append access.
  • The DIGITAL Fortran 90 RTL I/O system detected an error condition during execution of a REWIND statement.
21 severe (21): Duplicate file specifications

FOR$IOS_DUPFILSPE. 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 an OPEN statement

22 severe (22): Input record too long

FOR$IOS_INPRECTOO. 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 (record length) of the appropriate size.

23 severe (23): BACKSPACE error

FOR$IOS_BACERR. The DIGITAL Fortran 90 RTL I/O system detected an error condition during execution of a BACKSPACE statement.

24 1 severe (24): End-of-file during read

FOR$IOS_ENDDURREA. One of the following conditions occurred:

  • A DIGITAL Fortran 90 RTL I/O system end-of-file condition was encountered during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification.
  • An end-of-file record written by the ENDFILE statement was encountered during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification.
  • An attempt was made to read past the end of an internal file character string or array during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification.

This error is returned by END and ERRSNS.

25 severe (25): Record number outside range

FOR$IOS_RECNUMOUT. A direct access READ, WRITE, or FIND statement specified a record number outside the range specified when the file was opened.

26 severe (26): OPEN or DEFINE FILE required

FOR$IOS_OPEDEFREQ. A direct access READ, WRITE, or FIND statement was attempted for a file when no prior DEFINE FILE or OPEN statement with ACCESS= ' DIRECT ' was performed for that file.

27 severe (27): Too many records in I/O statement

FOR$IOS_TOOMANREC. An attempt was made to do one of the following:

  • Read or write more than one record with an ENCODE or DECODE statement.
  • Write more records than existed.
28 severe (28): CLOSE error

FOR$IOS_CLOERR. An error condition was detected by the DIGITAL Fortran 90 RTL I/O system during execution of a CLOSE statement.

29 severe (29): File not found

FOR$IOS_FILNOTFOU. A file with the specified name could not be found during an open operation.

30 severe (30): Open failure

FOR$IOS_OPEFAI. An error was detected by the DIGITAL Fortran 90 RTL I/O system 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:

  • Segmented file that was not on a disk or a raw magnetic tape
  • Standard I/O file that had been closed
31 severe (31): Mixed file access modes

FOR$IOS_MIXFILACC. An attempt was made to use any of the following combinations:

  • Formatted and unformatted operations on the same unit
  • An invalid combination of access modes on a unit, such as direct and sequential
  • A DIGITAL Fortran 90 RTL I/O statement on a logical unit that was opened by a program coded in another language
32 severe (32): Invalid logical unit number

FOR$IOS_INVLOGUNI. A logical unit number greater than 2,147,483,647 or less than zero was used in an I/O statement.

33 severe (33): ENDFILE error

FOR$IOS_ENDFILERR. One of the following conditions occurred:

  • The file was not a sequential organization file with variable-length records.
  • The file was not opened for sequential or append access.
  • An unformatted file did not contain segmented records.
  • The DIGITAL Fortran 90 RTL I/O system detected an error during execution of an ENDFILE statement.
34 severe (34): Unit already open

FOR$IOS_UNIALROPE. A DEFINE FILE statement specified a logical unit that was already opened.

35 severe (35): Segmented record format error

FOR$IOS_SEGRECFOR. 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 or Fortran 90.

36 severe (36): Attempt to access non-existent record

FOR$IOS_ATTACCNON. A direct-access READ or FIND statement attempted to access beyond the end of a relative file (or a sequential file on disk with fixed-length records) or access a record that was previously deleted in a relative file.

37 severe (37): Inconsistent record length

FOR$IOS_INCRECLEN. An attempt was made to open a direct access file without specifying a record length.

38 severe (38): Error during write

FOR$IOS_ERRDURWRI. The DIGITAL Fortran 90 RTL I/O system detected an error condition during execution of a WRITE statement.

39 severe (39): Error during read

FOR$IOS_ERRDURREA. The DIGITAL Fortran 90 RTL I/O system detected an error condition during execution of a READ statement.

40 severe (40): Recursive I/O operation

FOR$IOS_RECIO_OPE. While processing an I/O statement for a logical unit, another I/O operation on the same logical unit was attempted, such as a function subprogram that performs I/O to the same logical unit that was referenced in an expression in an I/O list or variable format expression.

41 severe (41): Insufficient virtual memory

FOR$IOS_INSVIRMEM. The DIGITAL Fortran 90 RTL attempted to exceed its available virtual memory while dynamically allocating space. To overcome this problem, increase the per-process data limit by using the limit (C shell) or ulimit (Bourne and Korn shell) commands before you run this program again (see Section 1.1).

To determine whether the maximum per-process data size is already allocated, check the value of the maxdsiz parameter in the sysconfigtab or system configuration file. If necessary, increase its value. Changes to do not take effect until the system has been rebooted (you do not need to rebuild the kernel if you modify sysconfigtab).

For more information about system configuration parameters, see the DIGITAL UNIX System Tuning and Performance Management guide.

Before you try to run this program again, wait until the new system resources take effect.

42 severe (42): No such device

FOR$IOS_NO_SUCDEV. A pathname included an invalid or unknown device name when an OPEN operation was attempted.

43 severe (43): File name specification error

FOR$IOS_FILNAMSPE. A pathname or file name given to an OPEN or INQUIRE statement was not acceptable to the DIGITAL Fortran 90 RTL I/O system.

44 severe (44): Inconsistent record type

FOR$IOS_INCRECTYP. The RECORDTYPE value in an OPEN statement did not match the record type attribute of the existing file that was opened.

45 severe (45): Keyword value error in OPEN statement

FOR$IOS_KEYVALERR. An improper value was specified for an OPEN or CLOSE statement specifier requiring a value.

46 severe (46): Inconsistent OPEN/CLOSE parameters

FOR$IOS_INCOPECLO. Specifications in an OPEN or CLOSE statement were inconsistent. Some invalid combinations follow:

  • READONLY or ACTION= ' READ ' with STATUS= ' NEW ' or STATUS= ' SCRATCH '
  • READONLY with STATUS= ' REPLACE ' , ACTION= ' WRITE ' , or ACTION= ' READWRITE '
  • ACCESS= ' APPEND ' with READONLY, ACTION= ' READ ' , STATUS= ' NEW ' , or STATUS= ' SCRATCH '
  • DISPOSE= ' SAVE ' , ' PRINT ' , or ' SUBMIT ' with STATUS= ' SCRATCH '
  • DISPOSE= ' DELETE ' with READONLY
  • CLOSE statement STATUS= ' DELETE ' with OPEN statement READONLY
  • ACCESS= ' APPEND ' with STATUS= ' REPLACE '
  • ACCESS= ' DIRECT ' or ' KEYED ' with POSITION= ' APPEND ' , ' ASIS ' , or ' REWIND '
47 severe (47): Write to READONLY file

FOR$IOS_WRIREAFIL. A write operation was attempted to a file that was declared ACTION= ' READ ' or READONLY in the OPEN statement that is currently in effect.

48 severe (48): Invalid argument to Fortran Run-Time Library

FOR$IOS_INVARGFOR. The compiler passed an invalid or improperly coded argument to the DIGITAL Fortran 90 RTL. This can occur if the compiler is newer than the RTL in use.

51 severe (51): Inconsistent file organization

FOR$IOS_INCFILORG. The file organization specified in an OPEN statement did not match the organization of the existing file.

53 severe (53): No current record

FOR$IOS_NO_CURREC. Attempted to execute a REWRITE statement to rewrite a record when the current record was undefined. 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.

55 severe (55): DELETE error

FOR$IOS_DELERR. An error condition was detected by the DIGITAL Fortran 90 RTL I/O system during execution of a DELETE statement.

57 severe (57): FIND error

FOR$IOS_FINERR. The DIGITAL Fortran 90 RTL I/O system detected an error condition during execution of a FIND statement.

58 1 info (58): Format syntax error at or near xx

FOR$IOS_FMTSYN. 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 DIGITAL Fortran Language Reference Manual.

59 severe (59): List-directed I/O syntax error

FOR$IOS_LISIO_SYN 2. 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.

60 severe (60): Infinite format loop

FOR$IOS_INFFORLOO. The format associated with an I/O statement that included an I/O list had no field descriptors to use in transferring those values.

61 severe or info 3 (61): Format/variable-type mismatch

FOR$IOS_FORVARMIS 2. 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). To suppress this error message, see Section 3.17.

62 severe (62): Syntax error in format

FOR$IOS_SYNERRFOR. A syntax error was encountered while the RTL was processing a format stored in an array or character variable.

63 error or info 3 (63): Output conversion error

FOR$IOS_OUTCONERR 2. 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. When this situation is encountered, the overflowed field is filled with asterisks to indicate the error in the output record. If no ERR address has been defined for this error, the program continues after the error message is displayed.

To suppress this error message, see Section 3.18.

64 severe (64): Input conversion error

FOR$IOS_INPCONERR 2. 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.

65 error (65): Floating invalid

FOR$IOS_FLTINV. 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 option can suppress this message (see Section 3.19). For information on allowing exceptional IEEE values, see Section 3.35.

66 severe (66): Output statement overflows record

FOR$IOS_OUTSTAOVE. An output statement attempted to transfer more data than would fit in the maximum record size.

67 severe (67): Input statement requires too much data

FOR$IOS_INPSTAREQ. 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 ' .

68 severe (68): Variable format expression value error

FOR$IOS_VFEVALERR 2. 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 1 was assumed, except for a P edit descriptor, for which a value of zero was assumed.

69 1 error (69): Process interrupted (SIGINT)

FOR$IOS_SIGINT. The process received the signal SIGINT. Determine source of this interrupt signal (described in signal(3) ).

70 1 severe (70): Integer overflow

FOR$IOS_INTOVF. During an arithmetic operation, an integer value exceeded byte, word, or longword range. The result of the operation was the correct low-order part. See Chapter 9 for ranges of the various integer data types. Consider specifying a larger integer data size (modify source program or, for an INTEGER declaration, possibly use the f90 option -integer_size nn ).

71 1 severe (71): Integer divide by zero

FOR$IOS_INTDIV. 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 1.

72 1 error (72): Floating overflow

FOR$IOS_FLTOVF. During an arithmetic operation, a floating-point value exceeded the largest representable value for that data type. See Chapter 9 for ranges of the various data types.

73 1 error (73): Floating divide by zero

FOR$IOS_FLTDIV. During a floating-point arithmetic operation, an attempt was made to divide by zero.

74 1 error (74): Floating underflow

FOR$IOS_FLTUND. During an arithmetic operation, a floating-point value became less than the smallest finite value for that data type. Depending on the values of the -fpe n option (see Section 3.35), the underflowed result was either set to zero or allowed to gradually underflow. See Chapter 9 for ranges of the various data types.

75 1 error (75): Floating point exception

FOR$IOS_SIGFPE. A floating-point exception occurred. Core dump file created. Possible causes include:

  • Division by zero
  • Overflow
  • Invalid operation, such as subtraction of infinite values, multiplication of zero by infinity (without signs), division of zero by zero or infinity by infinity
  • Conversion of floating-point to fixed-point format when an overflow prevents conversion
76 1 error (76): IOT trap signal

FOR$IOS_SIGIOT. Core dump file created. Examine core dump for possible cause of this IOT signal. For more information about signals, see Section 8.3.

77 1 severe (77): Subscript out of range

FOR$IOS_SUBRNG. An array reference was detected outside the declared array bounds.

78 1 error (78): Process killed (SIGTERM)

FOR$IOS_SIGTERM. The process received the signal SIGTERM. Determine source of this software termination signal (described in signal(3) ).

79 1 error (79): Process quit (SIGQUIT)

FOR$IOS_SIGQUIT. The process received the signal SIGQUIT. Core dump file created. Determine source of this quit signal (described in signal(3) ).

95 1 info (95): Floating-point conversion failed

FOR$IOS_FLOCONFAI. The attempted unformatted read or write of nonnative floating-point data failed because the floating-point value:

  • Exceeded the allowable maximum value for the equivalent native format and was set equal to infinity (plus or minus)
  • Was infinity (plus or minus) and was set to infinity (plus or minus)
  • Was invalid and was set to not a number (NaN)

Very small numbers are set to zero (0). This error could be caused by the specified nonnative floating-point format not matching the floating-point format found in the specified file.

Check the following:

  • The correct file was specified.
  • The record layout matches the format DIGITAL Fortran 90 is expecting.
  • The ranges for the data being used (Chapter 9)
  • The correct nonnative floating-point data format was specified (Chapter 10).
108 severe (108): Cannot stat file

FOR$IOS_CANSTAFIL. Attempted stat operation on the indicated file failed. Make sure correct file and unit were specified.

120 severe (120): Operation requires seek ability

FOR$IOS_OPEREQSEE. Attempted an operation on a file that requires the ability to perform seek operations on that file. Make sure the correct unit, directory path, and file were specified.

130 1 severe (130): User breakpoint (SIGTRAP)

FOR$IOS_BRK_USERBP. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

Examine core dump for possible cause.

131 1 severe (131): Kernel breakpoint (SIGTRAP)

FOR$IOS_BRK_KERNELBP. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

Examine core dump for possible cause.

135 1 severe (135): User single step (SIGTRAP)

FOR$IOS_BRK_SSTEPBP. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

Examine core dump for possible cause.

136 1 severe (136): Overflow check (SIGTRAP)

FOR$IOS_BRK_OVERFLOW. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

The cause is an integer overflow. Try recompiling with the -check overflow option (perhaps with the decfort_dump_flag environment variable set) or examine the core dump file to determine the source code in error.

137 1 severe (137): Divide by zero check (SIGTRAP)

FOR$IOS_BRK_DIVZERO. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

Examine core dump file for possible cause.

138 1 severe (138): Array index out of bounds (SIGTRAP)

FOR$IOS_BRK_RANGE. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

The cause is an array subscript that is outside the dimensioned boundaries of that array.

Either recompile with the -check bounds option (perhaps with the decfort_dump_flag environment variable set) or examine the core dump file to determine the source code in error.

139 1 severe (139): Array index out of bounds for index nn (SIGTRAP)

FOR$IOS_BRK_RANGE2. Break exception generated a SIGTRAP signal (described in signal(3) ). Core dump file created.

The cause is an array subscript that is outside the dimensioned boundaries of the array index n.

Either recompile with the -check bounds option (perhaps with the decfort_dump_flag environment variable set) or examine the core dump file to determine the source code in error.

140 1 severe (140): Floating inexact

FOR$IOS_FLTINE. 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.

144 1 severe (144): reserved operand

FOR$IOS_ROPRAND. The DIGITAL Fortran RTL encountered an reserved operand. Please report the problem to DIGITAL.

145 1 severe (145): Assertion error

FOR$IOS_ASSERTERR. The DIGITAL Fortran RTL encountered an assertion error. Please report the problem to DIGITAL.

146 1 severe (146): Null pointer error

FOR$IOS_NULPTRERR. Attempted to use a pointer that does not contain an address. Modify the source program, recompile, and relink.

147 1 severe (147): stack overflow

FOR$IOS_STKOVF. The DIGITAL Fortran RTL encountered a stack overflow while executing your program.

148 1 severe (148): String length error

FOR$IOS_STRLENERR. During a string operation, an integer value appears in a context where the value of the integer is outside the permissible string length range.

Either recompile with the -check bounds option (perhaps with the decfort_dump_flag environment variable set) or examine the core file to determine the source code causing the error.

149 1 severe (149): Substring error

FOR$IOS_SUBSTRERR. An array subscript is outside the dimensioned boundaries of an array.

Either recompile with the -check bounds option (perhaps with the decfort_dump_flag environment variable set) or examine the core file to determine the source code causing the error.

150 1 severe (150): Range error

FOR$IOS_RANGEERR. An integer value appears in a context where the value of the integer is outside the permissible range.

151 1 severe (151): Allocatable array is already allocated

FOR$IOS_INVREALLOC. An allocatable array must not already be allocated when you attempt to allocate it. You must deallocate the array before it can again be allocated.

152 1 severe (152): Unresolved contention for DEC Fortran RTL global resource

FOR$IOS_RESACQFAI. Failed to acquire a DIGITAL Fortran 90 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 main program) and your asynchronous handler attempted to acquire the same global resource.

153 1 severe (153): Allocatable array is not allocated

FOR$IOS_INVDEALLOC. A Fortran-90 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.

256 severe (256): Unformatted I/O to unit open for formatted transfers

FOR$IOS_UNFIO_FMT. Attempted unformatted I/O to a unit where the OPEN statement (FORM specifier) indicated the file was formatted. Check that the correct unit (file) was specified.

If the FORM specifier was not present in the OPEN statement and the file contains unformatted data, specify FORM= ' UNFORMATTED ' in the OPEN statement. Otherwise, if appropriate, use formatted I/O (such as list-directed or namelist I/O).

257 severe (257): Formatted I/O to unit open for unformatted transfers

FOR$IOS_FMTIO_UNF. 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 present in the OPEN statement and the file contains formatted data, specify FORM= ' FORMATTED ' in the OPEN statement. Otherwise, if appropriate, use unformatted I/O.

264 severe (264): operation requires file to be on disk or tape

FOR$IOS_OPERREQDIS. Attempted to use a BACKSPACE statement on such devices as a terminal or pipe.

265 severe (265): operation requires sequential file organization and access

FOR$IOS_OPEREQSEQ. Attempted to use a BACKSPACE statement on a file whose organization was not sequential or whose access was not sequential. A BACKSPACE statement can only be used for sequential files opened for sequential access.

266 1 error (266): Fortran abort routine called

FOR$IOS_PROABOUSE. The program called abort to terminate the program. For more information on signals, see Section 8.3.

268 1 severe (268): End of record during read

FOR$IOS_ENDRECDUR. An end-of-record condition was encountered during execution of a nonadvancing I/O READ statement that did not specify the EOR branch specifier.

297 1 info (297): nn floating invalid traps

FOR$IOS_FLOINVEXC. The total number of floating-point invalid data traps encountered during program execution was nn. This summary message appears at program completion.

298 1 info (298): nn floating overflow traps

FOR$IOS_FLOOVFEXC. The total number of floating-point overflow traps encountered during program execution was nn. This summary message appears at program completion.

299 1 info (299): nn floating divide-by-zero traps

FOR$IOS_FLODIV0EXC. The total number of floating-point divide-by-zero traps encountered during program execution was nn. This summary message appears at program completion.

300 1 info (300): nn floating underflow traps

FOR$IOS_FLOUNDEXC. The total number of floating-point underflow traps encountered during program execution was nn. This summary message appears at program completion.


1Identifies errors not returned by IOSTAT.
2The ERR transfer is taken after completion of the I/O statement for error numbers 59, 61, 63, 64, and 68. The resulting file status and record position are the same as if no error had occurred. However, other I/O errors take the ERR transfer as soon as the error is detected, so file status and record position are undefined.
3For errors 61 and 63, the severity depends on the -check keywords used during compilation (f90 command).


Previous Next Contents Index