Run-Time Errors 31 Through 60

This section describes in detail Visual Fortran run-time errors 31 through 60.

In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected.

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.

For information about severity levels, see the Introduction.

Number Severity Level, Number, and Message Text; Condition Symbol and Explanation
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 Compaq Fortran 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, append, or direct access.
  • An unformatted file did not contain segmented records.
  • The Compaq Fortran 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 from 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 Compaq Fortran RTL I/O system detected an error condition during execution of a WRITE statement.

39 severe (39): Error during read

FOR$IOS_ERRDURREA. The Compaq Fortran 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.

411,2 severe (41): Insufficient virtual memory

FOR$IOS_INSVIRMEM. The Compaq Fortran RTL attempted to exceed its available virtual memory while dynamically allocating space. To overcome this problem, investigate increasing the data limit (Control Panel, System, Performance Tab, Virtual Memory). 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 Compaq Fortran 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' with POSITION='APPEND' or 'ASIS'
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 Compaq Fortran 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 Compaq Fortran RTL I/O system during execution of a DELETE statement.

57 severe (57): FIND error

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

583 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 more information, see the FORMAT statement.

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

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


1Identifies errors that can be returned by STAT in an ALLOCATE statement.

2Identifies errors that can be returned by STAT in a DEALLOCATE statement.

3Identifies errors not returned by IOSTAT.

4The ERR transfer is taken after completion of the I/O statement for error number 59. 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.