Previous Next Contents Index Doc Set Home


Runtime Error Messages

A


This appendix describes the error messages generated by the Fortran I/O library, signal handler, and operating system.


Note - Only f77 is described in this Appendix. Information on f90 runtime error messages will be added.


Operating System Error Messages

Operating system error messages include system call failures, C library errors, and shell diagnostics. The system call error messages are found in intro(2). System calls made through the Fortran library do not produce error messages directly. The following system routine in the Fortran library calls C library routines which produce an error message:

	CALL SYSTEM("rm /") 
	END

The following message is displayed:

rm: / directory


Signal Handler Error Messages

Before beginning execution of a program, the Fortran library sets up a signal handler (sigdie) for signals that can cause termination of the program. sigdie prints a message that describes the signal, flushes any pending output, and generates a core image and a traceback.

Presently, the only arithmetic exception that produces an error message is the INTEGER*2 division with a denominator of zero. All other arithmetic exceptions are ignored.

A signal handler error example follows, where the subroutine SUB tries to access parameters that are not passed to it:

	CALL SUB() 
	END 
	SUBROUTINE SUB(I,J,K) 
	I=J+K 
	RETURN 
	END

The following error message results:

*** Segmentation violation
Illegal instruction (core dumped)


I/O Error Messages (f77)

The error messages in this section are generated by the Fortran 77 I/O library. The error numbers are returned in the IOSTAT variable if the ERR return is taken.

For example, the following program tries to do an unformatted write to a file opened for formatted output:

WRITE( 6 ) 1 
END

and produces error messages like the following:

sue: [1003] unformatted io not allowed
logical unit 6, named 'stdout'
lately: writing sequential unformatted external IO

The following error messages are generated. These same messages are also documented at the end of the man page, perror(3f).

If the error number is less than 1000, then it is a system error. See intro (2).

Table  A-1 f77 Runtime I/O Messages

Error
Message

1000

error in format

Read the error message output for the location of the error in the format. It can be caused by more than 10 levels of nested parentheses or an extremely long format statement.

1001

illegal unit number

It is illegal to close logical unit 0. Negative unit numbers are not allowed. The upper limit is 231 - 1.

1002

formatted io not allowed

The logical unit was opened for unformatted I/O.

1003

unformatted io not allowed

The logical unit was opened for formatted I/O.

1004

direct io not allowed

The logical unit was opened for sequential access, or the logical record length was specified as 0.

1005

sequential io not allowed

The logical unit was opened for direct access I/O.

1006

can't backspace file

You cannot do a seek on the file associated with the logical unit; therefore, you cannot backspace. The file may be a tty device or a pipe.

1007

off beginning of record

You tried to do a left tab to a position before the beginning of an internal input record.

1008

can't stat file

The system cannot return status information about the file. Perhaps the directory is unreadable.

1009

no * after repeat count

Repeat counts in list-directed I/O must be followed by an * with no blank spaces.

1010

off end of record

A formatted write tried to go beyond the logical end-of-record. An unformatted read or write also causes this

1011

<Not used>

1012

incomprehensible list input

List input has to be as specified in the declaration.

1013

out of free space

The library dynamically creates buffers for internal use. You ran out of memory for them; that is, your program is too big.

1014

unit not connected

The logical unit was not open.

1015

read unexpected character

Certain format conversions cannot tolerate nonnumeric data.

1016

illegal logical input field

logical data must be T or F.

1017

'new' file exists

You tried to open an existing file with status='new'.

1018

can't find 'old' file

You tried to open a nonexistent file with status='old'.

1019

unknown system error

This error should not happen, but..

1020

requires seek ability

Attempted a seek on a file that does not allow it. I/O operation requiring a seek are direct access, sequential unformatted I/O, and tabbing left.

1021

illegal argument

Certain arguments to open and related functions are checked for legitimacy. Often only nondefault forms are checked

1022

negative repeat count

The repeat count for list-directed input must be a positive integer.

1023

illegal operation for unit

Attempted an I/O operation that is not possible for the device associated with the logical unit. You get this error if you try to read past end-of-tape, or end-of-file.

1024

<Not used>

1025

incompatible specifiers in open

Attempted to open a file with the 'new' option and the access='append' option, or some other invalid combination.

1026

illegal input for namelist

A namelist read encountered an invalid data item.

1027

error in FILEOPT parameter

The FILEOPT string in an OPEN statement has bad syntax.

1028

WRITE to readonly file

Attempt to write on a unit that was opened for reading only.

1029

READ from writeonly file

Attempt to read from a unit that was opened for writing only.





I/O Error Messages (f90)

This is a partial list of runtime I/O messages issued by f90 1.2 :

Table  A-2 f90 Runtime I/O Errors

Error
Meaning

1001

Tried to read past end of file

1002

Tried to read an empty file

1003

Tried to read past endfile record

1004

Tried to read past EOF on namelist

1005

Tried to read past internal file EOF

1006

Read past EOR with ADVANCE='NO'

1010

Invalid unit number

1011

Invalid unit number on OPEN

1021

Unit not opened for direct access

1022

Unit not connected to tape

1023

Unit is not connected

1024

Opening too many named files

1025

File is opened with another structure

1026

File is opened by an auxiliary i/o

1027

ACTION= conflicts with file perms

1029

Error on underlying stdio I/O request

1030

Unknown STATUS parameter on OPEN

1031

Unknown ACCESS parameter on OPEN

1032

Unknown FORM parameter on OPEN

1033

Unknown RECL parameter on OPEN

1034

Unknown BLANK parameter on OPEN

1035

Unknown POSITION parameter on OPEN

1037

RECL must be multiple of 8 for pure

1038

Unknown ACTION specifier on OPEN

1039

Unknown DELIM specifier on OPEN

1040

FILE specifier required on OPEN

1041

FILE specifier invalid on OPEN

1042

RECL specifier required on OPEN

1044

BLANK specifier invalid on OPEN

1045

POSITION specifier invalid on OPEN

1047

ASSIGN by file/unit conflict

1048

Unknown PAD specifier on OPEN

1049

DELIM specifier invalid on OPEN

1050

File must exist prior to OPEN

1051

File must not exist prior to OPEN

1052

File is connected to another unit

1053

Unable to position to end of file

1054

Only BLANK can be changed on reopen

1055

File cannot be opened (structure)

1056

File cannot be opened for direct acc.

1058

STATUS=NEW on currently-open-file

1060

Attempt to OPEN standard file wrong

1067

PAD specifier invalid on OPEN

1068

File cannot be opened for unfmtd acc

1069

File cannot be opened for fmtd acc

1070

Unknown STATUS parameter on CLOSE

1071

Invalid STATUS parameter on CLOSE

1072

Increment in implied do is 0.

1079

BACKSPACE requires read permission

1080

Formatted I/O invalid on unformatted

1081

Unformatted I/O invalid on formatted

1082

Direct access I/O invalid on seq.

1083

Sequential I/O invalid on direct acc.

1084

BACKSPACE invalid on direct access

1085

ENDFILE invalid on direct access

1086

REWIND invalid on direct access

1087

Read after write invalid on seq.

1088

Invalid record number (%d)

1090

No read permission

1091

No write permission

1092

File does not support BACKSPACE

1093

File does not support ENDFILE

1094

File does not support REWIND

1095

WRITE or PRINT invalid after ENDFILE

1096

ENDFILE invalid after ENDFILE

1097

Record number does not exist in file

1100

Record number does not exist in file

1117

Infinite loop in format

1118

Literal invalid in input format

1170

Data type mismatch on READ

1171

Data type mismatch on WRITE

1173

Invalid logical input field

1180

Unknown input on list-directed read

1181

Invalid complex on list-directed read

1182

String too long on list-directed read

1190

Invalid character in numeric input

1191

Overflow converting numeric input

1192

Exponent underflow on numeric input

1193

Exponent overflow on numeric input

1194

Blank numeric input field

1201

Tried to read past end of record

1202

Read/wrote too little data

1205

Unable to request more memory space

1208

An I/O statement was already active

1211

Tried to write a too long record

1212

Tried to write beyond internal file

1213

Ptr/alloc array not assoc/alloc'ed

1214

FMT var not allocated or associated

1215

UNIT var not allocated or associated

1216

FMT var or array is zero-sized

1217

Read encountered a malformed record

1220

Internal Fortran library error

1221

Internal error - unknown file struct.

1223

Internal error - unknown data type

1224

Internal error invalid parsed format

1226

Internal error on tape read

1306

First/last character unknown nl read

1307

Unknown input on namelist read

1308

Zero length char in nl for f90

1309

Array section input to f90 nml

1310

Namelist read error

1312

Invalid char passed to namelist rtn.

1313

Namelist variable name too long

1314

Namelist input group name mismatch

1315

Unrecognized namelist variable name

1316

Unable to obtain namelist value

1317

Invalid logical data in namelist read

1318

Invalid complex data in namelist read

1320

Input rec. too long on namelist read

1321

Attempted namelist read beyond array

1322

Namelist not supported for local mem.

1323

Too many namelist elements specified

1324

Unrecognized namelist variable name

1325

Data type mismatch on namelist read

1326

Namelist name is larger than recsize

1327

Double complex illegal for f77 mode

1328

Structures illegal for f77 mode

1329

Bad pre-ampersand character in f90

1330

Direct access file invalid for BUFIO

1331

Formatted file invalid for BUFIO

1332

Start address > end address for BUFIO

1334

Invalid argument to SETPOS

1335

Positioning operation not supported

1338

Mixing BUFIO/READ/WRITE on pure file

1339

Mixing auxiliary and Fortran I/O

1340

Invalid DECODE record length

1341

Invalid ENCODE record length

1342

Invalid number of items for BUFIO

1343

Invalid ADVANCE= specifier on rd/wrt

1344

ADVANCE='NO' requ'd with SIZE=

1345

ADVANCE='NO' requ'd with EOR=

1350

Negative tape block number is invalid

1354

Maximum tape block size exceeded

1355

Invalid combination of parameters

1356

Unrecovered tape error on tape read

1360

Tblmgr routine called with bad args.

1361

Tblmgr routine called with bad NTAB

1362

Tblmgr routine called with bad tab. #

1363

Tblmgr routine called with bad incr.

1370

Read or write of nonbyte-data is inv.

1371

Data conversion routine not loaded

1372

Can't convert this type with f90

1373

I/O not supported for this KIND

1380

Argument list is not valid


Previous Next Contents Index Doc Set Home