next up previous contents index
Next: Diagnostics for FZITRX Up: Error Diagnostics Previous: Diagnostics for FZFILE

Diagnostics for FZDIA: FZIN - FZCOPY

CALL FZDIA
CALL FZIN (LUN,IXDIV,LSUP,JBIAS,CHOPT,NWUH,IUHEAD)
CALL FZCOPY (LUNIN,LUNOUT,IEVT,CHOPT,NIO,NWUH,IUHEAD)

If an exception is found by one of the routines which handle an FZIN request, or an input request for FZCOPY, it stores information into which is then handled by FZDIA, passing the relevant information back to the caller.

The primary status information is :

 IQUEST(1)= -1  BAD CALLING : options T/A/D given, but no pending d/s
            -2  NOT ENOUGH SPACE in the store to receive the data
                                 and the table
            -3  BAD DATA, data corrupted or file written by user
                          output routine not yet fully debugged
            -4  BAD CONSTRUCTION, maybe not a ZEBRA file
            -5  READ ERROR, error return from the Fortran READ
                            or maybe some other system read routine;
                            the error code, if any, is in IQUEST(14)
            -6  for 2 consecutive errors
            -7  for 3 consecutive errors
            -8  -- etc --
 IQUEST(2)= number of logical records read so far
 IQUEST(3)= number of physical records (exchange file format only)

The detailed error information is in :

 IQUEST(11)= -1, ..., -5  as above
       (12)= error number JERROR as shown below
       (13)= LRTYP, type of the last record read :
                    0 : not known
                    1 : start or end of run
                    2 : pilot record for start event
                    3 : pilot record
                    4 : pilot continuation record (native file format)
                    4 : bank material continuation record (exchange fifo)
               5 or 6 : dummy padding record
                    7 : bank material record (native file format)
                    8 : last bank material record in the d/s (native fifo)
   (14->17)= further information related to the error

FZDIA prints an error message, showing LUN and the contents of , and returns to the caller, expecting he will test on IQUEST(1).

In the following the error numbers JERROR are shown, giving the name of the lower level routine which detected the error, and the meaning of IQUEST(14...) if they contain useful further information.

#FZIN>FZIN

   JERROR = 10  FZIN called for Channel or Memory mode,
                user routine or user memory not yet connected
   JERROR = 11  multiple options T A D not allowed
   JERROR = 12  no pending d/s for entry with T A D options
   JERROR = 13  no segment table for entry with D option :
                either FZIN had not been called with the T option,
                or the table has meanwhile been overwritten by
                some other call to ZEBRA
   JERROR = 14  options T A D not allowed together with R 2 3 4

955 -- table builder

   JERROR = 14  invalid division index in segment table
                IQUEST(14)= JS, the segment number
                IQUEST(16)= IQSEGD(JS)

   JERROR = 15  NQSEG has been changed by the user
                IQUEST(14)= NQSEG on entry
                IQUEST(15)= number of words in the segment table
                    = 3 times the number of segments

   JERROR = 21  not enough space

956 -- relocator

   JERROR = 31  segment table tries to overshoot rel. table
   JERROR = 32  segment limit does not match a rel. table entry
   JERROR = 33  ends of segment and rel. tables do not match
   JERROR = 34  bank chaining clobbered in the input data

957 -- reading file format native for #FZIN>FZIN

     131 -> 133  record of unexpected record type read
   JERROR = 131  expect pilot continuation for text vector
   JERROR = 132  expect pilot continuation for table
   JERROR = 133  expect bank material

   JERROR = 134  end of segm skipped does not coincide with LR
                IQUEST(14)= segment number
                IQUEST(15)= size of the segment
                IQUEST(16)= number of words mis-match

   JERROR = 135  end of segm read does not coincide with LR
                IQUEST(14)= segment number
                IQUEST(15)= size of the segment
                IQUEST(16)= number of words mis-match

   JERROR = 136  last bank material record needed is not type 8
   JERROR = 137  emergency-stop record seen

   JERROR = 141  LRTYP invalid when hunting for pilot

   JERROR = 142  check-word in word 1 of the pilot is wrong
                IQUEST(16)= check-word read from the file
                IQUEST(17)= check-word expected (12345.0 floating)

   JERROR = 143  control wd of I/O char. for user header invalid
                IQUEST(14)= NWUHCI (size I/O char. + header vector)
                IQUEST(16)= first word of the characteristic

   JERROR = 144  NWSEG control-word in the pilot is wrong
                IQUEST(14)= NWSEG, the length of the segment table

   JERROR = 145  text vector NWTXI words longer than its record
                IQUEST(14)= NWTX control-word in the pilot
                IQUEST(15)= NWR - NWDONE, words available
                IQUEST(16)= NWDONE words in the record before the text

   JERROR = 146  number of early table words wrong
                IQUEST(14)= NWTAB control-word in the pilot
                IQUEST(15)= NTBE, number of early words inferred

   JERROR = 147  table end does not coincide with LR
                IQUEST(14)= NWTAB control-word in the pilot
                IQUEST(15)= LIN - LQTE words of mis-match

   JERROR = 151  read error, the IOSTAT error code is returned :
                IQUEST(14)= error code, if any

958 -- read physical records, exchange format sequential

   JERROR = 201  Steering block expected, but control-words invalid;
                 if the log level is -1 or more they are printed

   JERROR = 202  Block size (physical record size) wrong
                IQUEST(14) = expected size, as specified to FZFILE
                IQUEST(15) = size seen in word 5 of the steering block

   JERROR = 204  Break in block sequence number
                IQUEST(14) = expected sequence number
                IQUEST(15) = sequence number seen

     205 -> 208  Fast burst stopped by ...
   JERROR = 205  ... by unusable start/end-of-run
   JERROR = 206  ... by unusable steering block
   JERROR = 207  ... by usable start/end-of-run in unusable block
   JERROR = 208  ... by usable steering block
                IQUEST(14/15/16) = word 6/9/10 of the steering block
                 (a block is 'unusable' if only the first few words
                 have been read, but not the whole block; this can
                 happen if FZIN is instructed to skip the current d/s)

   JERROR = 209  emergency stop record seen

   JERROR = 215  read error, the IOSTAT error code is returned :
                IQUEST(14)= error code, if any

959 - handle logical records, exchange format

   JERROR = 221  LR overshoots steering block control
                IQUEST(14) = # of words consumed in current block
                IQUEST(15) = # of words missing to complete LR

   JERROR = 222  LR undershoots steering block control
                IQUEST(14) = # of words consumed in current block
                IQUEST(15) = # of words before start of next LR

   JERROR = 224  LR type 1,2,3 seen when 4 expected
                IQUEST(14) = # of words before start of next LR

   JERROR = 225  Faulty LR type
   JERROR = 226  Faulty LR length
   JERROR = 227  LR of type 1,2,3 must start on steering block
   JERROR = 228  Padding record longer than one physical record
   JERROR = 229  More than 4 padding records in a row
                IQUEST(14) = # of words before start of next LR
                IQUEST(15) = # of words missing to complete LR
                IQUEST(16) = LR length

960 -- reading file format exchange for #FZIN>FZIN

   JERROR = 240  FZIN called for Channel or Memory mode,
                 user routine or user memory not yet connected

   JERROR = 241  check-word in word 1 of the pilot is wrong
                IQUEST(16)= check-word read from the file
                IQUEST(17)= check-word expected (12345.0 floating)

   JERROR = 242  control wd of I/O char. for user header invalid
                IQUEST(14)= NWUHCI (size I/O char. + header vector)
                IQUEST(16)= first word of the characteristic

   JERROR = 243  NWSEG control-word in the pilot is wrong
                IQUEST(14)= NWSEG, the length of the segment table

   JERROR = 251  inconsistent bank parameters
   JERROR = 252  link part of bank overshoots segment end
   JERROR = 253  data part of bank overshoots segment end
   JERROR = 254  short dead region overshoots segment end
   JERROR = 255  bank material does not end exactly with LR

961 -- read physical records, exchange alfa

   JERROR = 301  Control-words of steering block invalid;
                 if the log level is -1 or more they are printed

   JERROR = 302  Block size (physical record size) wrong
                IQUEST(14) = expected size, as set by FZFILE
                IQUEST(15) = size seen in word 5 of the steering block

   JERROR = 303  Unexpected fast record
   JERROR = 307  Unexpected and faulty steering block

   JERROR = 308  Fast burst stopped by unexpected steering block
                IQUEST(14) = word 6
                IQUEST(15) = word 9
                IQUEST(16) = word 10 of the steering block

962 -- crack one physical alfa record for 963

   JERROR = 309  read error, the IOSTAT error code is returned :
                IQUEST(14)= error code, if any

The following error codes simply indicate that the text on the file has been corrupted, which particular code will appear is a matter of chance and is of no interest to the user :

   JERROR = 310  Invalid character in column 1
   JERROR = 311  Record shorter than expected
   JERROR = 312  Faulty type code
   JERROR = 313  Faulty numeric value, > 31
   JERROR = 314  Record longer than expected
   JERROR = 315  Repetition count overshoots record end
   JERROR = 316  Repetition count negative
   JERROR = 317  Double open square bracket
   JERROR = 318  Record shorter than expected
   JERROR = 319  Check-sum error
   JERROR = 320  Illegal combination =< or <=

subsection*FZCOPY

   JERROR = 401  input/output different data format
   JERROR = 402  native input record length too long
   JERROR = 403  input/output both channel mode
   JERROR = 404  Alfa mode not allowed
   JERROR = 409  no 'pending' d/s on input

964 -- reading file format native for #FZCOPY>FZCOPY

   JERROR = 433  record of unexpected record type read
   JERROR = 434  table or d/s data longer than expected
   JERROR = 435  premature LR type 8
   JERROR = 436  last bank material record needed is not type 8
   JERROR = 437  emergency stop record seen
   JERROR = 451  (Fortran) read error
               IQUEST(14) = IOSTAT error code

965 -- reading format exchange for #FZCOPY>FZCOPY

   JERROR = 455  bank material does not end exactly with LR

966 -- read physical records, exchange direct-access

   JERROR = 501  Steering block expected, but control-words invalid;
                 if the log level is -1 or more they are printed

   JERROR = 502  Block size (physical record size) wrong
                IQUEST(14) = expected size, as specified to FZFILE
                IQUEST(15) = size seen in word 5 of the steering block

   JERROR = 504  Break in block sequence number
                IQUEST(14) = expected sequence number
                IQUEST(15) = sequence number seen

   JERROR = 508  Fast burst stopped by usable steering block
                IQUEST(14/15/16) = word 6/9/10 of the steering block

   JERROR = 509  emergency stop record seen

   JERROR = 514  seek error, the IOSTAT error code is returned :
                IQUEST(14)= error code, if any

   JERROR = 515  read error, the IOSTAT error code is returned :
                IQUEST(14)= error code, if any

967 -- read physical records, exchange memory

   JERROR = 521  Steering block expected, but control-words invalid;
                 if the log level is -1 or more they are printed

   JERROR = 522  Block size (physical record size) wrong
                IQUEST(14) = expected size, as specified to FZFILE
                IQUEST(15) = size seen in word 5 of the steering block

   JERROR = 523  Block size larger than buffer
                IQUEST(14) = expected size, as specified to FZFILE
                IQUEST(15) = size seen in word 5 of the steering block


Janne Saarela
Mon May 15 08:34:47 METDST 1995