Library Procedure Error Messages [ MPE/iX Error Messages Manual Volume III ] MPE/iX 5.0 Documentation
MPE/iX Error Messages Manual Volume III
Library Procedure Error Messages
The success of each call to a TurboIMAGE/XL library procedure is
reflected upon return to the user by the condition code and the value of
the return status in the first element of the status area.
If the procedure fails to execute properly, the condition code is set to
CCL (Condition Code Less) and the return status is a negative integer.
In this section, "Library Procedure File System and Memory Management"
describes the negative integers resulting from file system and memory
management failures, while "Library Procedure Calling Errors" describes
the negative integers resulting from calling errors and communications
errors respectively.
If the procedure operates properly but encounters an exceptional
condition, such as end-of-file, the condition code is set to CCG
(Condition Code Greater) and the return status is a positive integer.
"Library Procedure Exceptional Conditions" describes the positive
integers resulting from exceptional conditions. If the procedure
operates properly and normally, the condition code is set to CCE
(Condition Code Equal) and the return status is zero.
In addition to the return status, all TurboIMAGE/XL library procedures
put information about the procedure call into the fifth through tenth
elements of the status area. This information may be useful in debugging
your programs, because it describes the conditions under which the
particular results were obtained. This information is used by DBEXPLAIN
and DBERROR when they are interpreting the results of TurboIMAGE/XL
calls.
In a few cases this information is not returned by the TurboIMAGE/XL
procedure because it uses the same locations in the status area for
returning other data. Specifically, successful execution of DBFIND,
DBGET, DBUPDATE, DBPUT, or DBDELETE puts other information here as
described in Chapter 5 of this manual. For all other returns from a
library procedure, the specified elements of the status area have the
following contents:
Status Area Changes for Native Applications
-----------------------------------------------------------------------------------------------
| | | |
| ELEMENT | TurboIMAGE/V and Compatibility Mode | TurboIMAGE/XL |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 5 | PB-relative address of the caller. | 0 |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 6 | Bits 6-15: Intrinsic number of called | No change. |
| | library procedure. | |
| | Bits 0-3: Zero or access mode in | |
| | which database is opened. | |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 7 | 16-bit address of the database. | First 16 bits of the database |
| | | address. |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 8 | 16-bit address of the data set name or | Second 16 bits of database |
| | qualifier. | address. |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 9 | Value of the mode parameter. | No change. |
| | | |
-----------------------------------------------------------------------------------------------
| | | |
| 10 | PB-relative address of the library | 0 |
| | procedure or the Compatibility Mode | |
| | switch stub. | |
| | | |
-----------------------------------------------------------------------------------------------
Abort Conditions
In general, four types of error conditions can cause TurboIMAGE/XL to
abort the calling process:
1. A call from a Compatibility Mode user process with the hardware DB
register not pointing to the process stack.
2. A faulty calling sequence.
3. An internal error in an MPE/iX file intrinsic which the calling
procedure cannot correct.
4. An internal inconsistency in the database or the DBG, DBB, or DBU
discovered by a library procedure.
In case 1, the procedure prints the standard MPE/iX run-time abort
message. In cases 2, 3, and 4, TurboIMAGE/XL prints additional
information on the standard list device about the error prior to printing
the standard MPE/iX abort message. The first line of this information
is:
ABORT: procedure name ON DATABASE name;
where procedure name is the name of the library procedure which caused
the abort and name is the name of the database being accessed at the time
of the abort. "Library Procedure Abort Condition Messages" describes
additional lines of information which may appear prior to the standard
MPE/iX abort message.
Some of the abort conditions are due to an error in one of the MPE/iX
file intrinsics FOPEN, FREADLABEL, FREADDIR, FWRITELABEL, FWRITEDIR, or
FCLOSE. Aborts of this type generally occur after the procedure has
possibly altered the database so that the database structure has been
damaged in some way. Each of the messages in the section entitled
"Library Procedure Abort Condition Messages," which refer to a
TurboIMAGE/XL data file, are followed by an MPE/iX file information
display listing all of the characteristics of the MPE/iX data set or root
file where the error occurred, along with an MPE/iX error number.
I and J Files
When TurboIMAGE/XL detects an internal inconsistency or other abnormal
situation, it may create special "I" and "J" files before it terminates.
The "I" file consists of the user's stack and procedure call trace
markers; the "J" file consists of the TurboIMAGE/XL database control
blocks. TurboIMAGE/XL only creates these "I" and "J" files if a database
user has run DBUTIL and specified ENABLE FOR DUMPING. So, if you want "I"
and "J" files, you must specifically request them through this DBUTIL
command. Note that "I" and "J" files are useful for debugging only if
the database is known to be structurally sound.
Library Procedure File System and Memory Management
For return status values -1 through -6, the second element of the calling
program's status area is the data set number for which file error
occurred (zero indicates root file). The third element is MPE/iX failure
code returned by FCHECK intrinsic. Refer to MPE/iX documentation for
meaning of this code.
---------------------------------------------------------------
-1 MESSAGE MPE file error nn returned by FOPEN on root file
or data set nn
CAUSE For DBOPEN, error may indicate that database could
not be opened. Possible reasons:
* Database name string not terminated with
semicolon or blank.
* Database does not exist or is secured
against access by its group or account
security.
* Database is already opened exclusively or in
mode incompatible with requested mode.
* MPE/iX file system error occurred.
* MPE/iX file system limit has been reached.
For DBOPEN, DBINFO, DBFIND, DBGET, DBUPDATE, DBPUT,
and DBDELETE, error may occur if:
* The process has too many files open external
to the database.
* Data set does not exist or is secured
against access.
* Some other MPE/iX file system error has
occurred.
ACTION Determine which of probable causes applies and
either modify application program or see system
manager about file system error.
---------------------------------------------------------------
-2 MESSAGE MPE file error nn returned by FCLOSE on root file
or data set nn
CAUSE This is an exceptional error (should never happen)
and is returned only by DBOPEN or DBCLOSE.
Indicates a hardware or system software failure.
ACTION Notify system manager of error.
---------------------------------------------------------------
--------------------------------------------------------------
-3 MESSAGE MPE file error nn returned by FREADDIR on root
file or data set nn
CAUSE This is an exceptional error (as -2 above) and is
returned by DBOPEN, DBFIND, DBGET, DBUPDATE, DBPUT,
DBDELETE.
ACTION Notify system manager of error.
---------------------------------------------------------------
-4 MESSAGE MPE file error nn returned by FREADLABEL on root
file or data set nn
CAUSE This is an exceptional error (as -2 above) and is
returned by DBOPEN, DBINFO, DBFIND, DBGET,
DBUPDATE, DBPUT, DBDELETE.
ACTION Notify system manager of error.
---------------------------------------------------------------
-5 MESSAGE MPE file error nn returned by FWRITEDIR on root
file or data set nn
CAUSE This exceptional condition could be returned when
DBPUT, DBDELETE, DBUPDATE, or DBCLOSE calls
FWRITEDIR.
ACTION Notify system manager of error.
---------------------------------------------------------------
-6 MESSAGE MPE file error nn returned by FWRITELABEL on root
file or data set nn
CAUSE This exceptional condition could be returned when
DBPUT, DBDELETE, or DBCLOSE calls FWRITELABEL.
ACTION Notify system manager of error.
---------------------------------------------------------------
-8 MESSAGE MPE file error nn returned by FUNLOCK on root
file
CAUSE This exceptional condition could be returned when
DBOPENN calls FUNLOCK on a remote database-access
file.
ACTION Notify system manager of error.
---------------------------------------------------------------
-9 MESSAGE Cannot create control block name: MPE error %nn
CAUSE This is an exceptional error returned when DBOPEN
fails to call HPFOPEN to create a control block.
ACTION Notify system manager or HP support personnel.
---------------------------------------------------------------
-10 MESSAGE MPE file error %nn returned by FFILEINFO on root
file or data set nn
CAUSE This is an exceptional error returned when DBOPEN
fails to call FFILEINFO on the root file.
ACTION Notify system manager or HP support personnel.
---------------------------------------------------------------
MPE/iX 5.0 Documentation