Run-Time Errors 570 Through 614

This section describes in detail Visual Fortran run-time errors 570 through 614.

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
570 severe (570): Illegal STATUS value

FOR$IOS_F6304. An illegal value was used with the STATUS option.

STATUS accepts the following values:

  • 'KEEP' or 'DELETE' when used with CLOSE statements
  • 'OLD', 'NEW', 'SCRATCH', or 'UNKNOWN' when used with OPEN statements
571 severe (571): Illegal MODE value

FOR$IOS_F6305. An illegal value was used with the MODE option.

MODE accepts the values 'READ', 'WRITE', or 'READWRITE'.

572 severe (572): Illegal ACCESS value

FOR$IOS_F6306. An illegal value was used with the ACCESS option.

ACCESS accepts the values 'SEQUENTIAL' and 'DIRECT'.

573 severe (573): Illegal BLANK value

FOR$IOS_F6307. An illegal value was used with the BLANK option.

BLANK accepts the values 'NULL' and 'ZERO'.

574 severe (574): Illegal FORM value

FOR$IOS_F6308. An illegal value was used with the FORM option.

FORM accepts the following values: 'FORMATTED', 'UNFORMATTED', and 'BINARY'.

575 severe (575): Illegal SHARE value

FOR$IOS_F6309. An illegal value was used with the SHARE option.

SHARE accepts the values 'COMPAT', 'DENYRW', 'DENYWR', 'DENYRD', and 'DENYNONE'.

577 severe (577): Illegal record number

FOR$IOS_F6311. An invalid number was specified as the record number for a direct-access file.

The first valid record number for direct-access files is 1.

578 severe (578): No unit number associated with *

FOR$IOS_F6312. In an INQUIRE statement, the NUMBER option was specified for the file associated with * (console).

580 severe (580): Illegal unit number

FOR$IOS_F6314. An illegal unit number was specified.

Legal unit numbers can range from 0 through 2**31-1, inclusive.

581 severe (581): Illegal RECL value

FOR$IOS_F6315. A negative or zero record length was specified for a direct file.

The smallest valid record length for direct files is 1.

582 severe (582): Array already allocated

FOR$IOS_F6316. The program attempted to ALLOCATE an already allocated array.

583 severe (583): Array size zero or negative

FOR$IOS_F6317. The size specified for an array in an ALLOCATE statement must be greater than zero.

584 severe (584): Non-HUGE array exceeds 64K

FOR$IOS_F6318.

585 severe (585): Array not allocated

FOR$IOS_F6319. The program attempted to DEALLOCATE an array that was never allocated.

586 severe (586): BACKSPACE illegal on terminal device

FOR$IOS_F6400. A BACKSPACE statement specified a unit connected to a terminal device such as a terminal or printer.

587 severe (587): EOF illegal on terminal device

FOR$IOS_F6401. An EOF intrinsic function specified a unit connected to a terminal device such as a terminal or printer.

588 severe (588): ENDFILE illegal on terminal device

FOR$IOS_F6402. An ENDFILE statement specified a unit connected to a terminal device such as a terminal or printer.

589 severe (589): REWIND illegal on terminal device

FOR$IOS_F6403. A REWIND statement specified a unit connected to a terminal device such as a terminal or printer.

590 severe (590): DELETE illegal for read-only file

FOR$IOS_F6404. A CLOSE statement specified STATUS='DELETE' for a read-only file.

591 severe (591): External I/O illegal beyond end of file

FOR$IOS_F6405. The program tried to access a file after executing an ENDFILE statement or after it encountered the end-of-file record during a read operation.

A BACKSPACE, REWIND, or OPEN statement must be used to reposition the file before execution of any I/O statement that transfers data.

592 severe (592): Truncation error: file closed

FOR$IOS_F6406.

593 severe (593): Terminal buffer overflow

FOR$IOS_F6407. More than 131 characters were input to a record of a unit connected to the terminal (keyboard). Note that the operating system may impose additional limits on the number of characters that can be input to the terminal in a single record.

594 severe (594): Comma delimiter disabled after left repositioning

FOR$IOS_F6408. If you have record lengths that exceed the buffer size associated with the record, (for instance, the record is a file with the buffer set by BLOCKSIZE in the OPEN statement), either you should not do left tabbing within the record, or you should not use commas as field delimiters. This is because commas are disabled as input field delimiters if left tabbing leaves the record positioned in a previous buffer.

For example, consider you have a file LONG.DAT that is one continuous record with data fields separated by commas. You then set the buffer associated with the file to 512 bytes, read more than one buffer size of data, tab left to data in the previous buffer, and attempt to read further data, as follows:

    INTEGER value(300)
    OPEN (1, FILE = 'LONG.DAT', BLOCKSIZE = 512)
    READ (1, 100) (value(i), i = 1, 300)
100 FORMAT (290I2,TL50,10I2)
 
In this case, error 594 occurs.
599 severe (599): File already connected to a different unit

FOR$IOS_F6413. The program tried to connect an already connected file to a new unit.

A file can be connected to only one unit at a time.

600 severe (600): Access not allowed

FOR$IOS_F6414.

This error can be caused by one of the following:

  • The filename specified in an OPEN statement was a directory.
  • An OPEN statement tried to open a read-only file for writing.
  • The file was opened with SHARE='DENYRW' by another process.
601 severe (601): File already exists

FOR$IOS_F6415. An OPEN statement specified STATUS='NEW' for a file that already exists.

602 severe (602): File not found

FOR$IOS_F6416. An OPEN statement specified STATUS='OLD' for a specified file or a directory path that does not exist.

603 severe (603): Too many open files

FOR$IOS_F6417. The program exceeded the number of open files the operating system allows.

604 severe (604): Too many units connected

FOR$IOS_F6418. The program exceeded the number of units that can be connected at one time. Units are connected with the OPEN statement.

605 severe (605): Illegal structure for unformatted file

FOR$IOS_F6419. The file was opened with FORM='UNFORMATTED' and ACCESS='SEQUENTIAL', but its internal physical structure was incorrect or inconsistent. Possible causes: the file was created in another mode or by a non-Fortran program.

606 severe (606): Unknown unit number

FOR$IOS_F6420. A statement such as BACKSPACE or ENDFILE specified a file that had not yet been opened. (The READ and WRITE statements do not cause this problem because they prompt you for a file if the file has not been opened yet.)

607 severe (607): File read-only or locked against writing

FOR$IOS_F6421. The program tried to transfer data to a file that was opened in read-only mode or locked against writing.

The error message may indicate a CLOSE error when the fault is actually coming from WRITE. This is because the error is not discovered until the program tries to write buffered data when it closes the file.

608 severe (608): No space left on device

FOR$IOS_F6422. The program tried to transfer data to a file residing on a device (such as a hard disk) that was out of storage space.

609 severe (609): Too many threads

FOR$IOS_F6423. Too many threads were active simultaneously. At most, 32 threads can be active at one time. Close any unnecessary processes or child windows within your application.

610 severe (610): Invalid argument

FOR$IOS_F6424.

611 severe (611): BACKSPACE illegal for SEQUENTIAL write-only files

FOR$IOS_F6425. The BACKSPACE statement is not allowed in files opened with MODE='WRITE' (write-only status) because BACKSPACE requires reading the previous record in the file to provide positioning.

Resolve the problem by giving the file read access or by avoiding the BACKSPACE statement. Note that the REWIND statement is valid for files opened as write-only.

612 severe (612): File not open for reading or file locked

FOR$IOS_F6500. The program tried to read from a file that was not opened for reading or was locked.

613 severe (613): End of file encountered

FOR$IOS_F6501. The program tried to read more data than the file contains.

614 severe (614): Positive integer expected in repeat field

FOR$IOS_F6502. When the i*c form is used in list-directed input, the i must be a positive integer. For example, consider the following statement:

  READ(*,*) a, b  
Input 2*56.7 is accepted, but input 2.1*56.7 returns error 614.