DMSFREX Error Codes
Error Codes from DMSFREE, DMSFRES, and DMSFRET A nonzero return code upon return from DftSFRES, DftSFREE, or DMSFRET indicates that the request could not be satisfied. Register 15 contains
this return code, indicating which error has occurred. The codes below
apply to the DMSFRES, DMSFREE and DMSFRET macros, described on the
following pages.
Code Error (DftSFREE) Insufficient storage space is available to satisfy the
request for free storage. In the case of a variable request, the
minimum request could not be satisfied.
2 (DMSFREE or DMSFRET) User storage pointers destroyed.
3 (DMSFREE or DMSFRET) Nucleus storage pointers destroyed.
4 (DMSFREE) An invalid size was requested. ihis error exit is taken
if the requested size is not greater than zero. In the case of
variable requests, this error exit is taken if the .inimum request
is greater than the maxi.ua request. However, the error is not
detected if DMSFREE is able to satisfy the maximum request.
5 (DMSFRET) An invalid size was passed to the DMSFRET macro. This
error exit is taken if the specified length is not positive.
6 (DMSFRET) The block of storage that is being released was never
7
8
allocated by DMSFREE. This error occurs if one of the following
errors is found:
a. The block is not entirely inside either the low-core free
storage area or the user program area between FREELOWE ana FREEUPPR. b. The block crosses a page boundary that separates a page
allocated for USER storage from a page allocated for NUCLEUS storage.
c. The block overlaps another block already on the free storage
chain. (DMSFRET) The address given for the
doublewcrd toundary address. (DMSFRES) An illegal request code
routine. Because the DMSFRES macro
error cede should never appear.
block being released is not a
vas passed to the DMSFRES generates all codes, this
9 (DMSFRE, or DMSFRES) Unexpected internal error. 2-240 IBM VM/370 System Logic and Program Determination--Volume 2
Abend Codes
Abend Recovery When the abend recovery routine is entered, it types out the followed by the line "eMS", to indicate to the user that
type in his next com.and.
abend hQ m;:av At this point, there are two options available to the user.
First, he may type the DEBUG command. In this case, nMSABN passes
control to DMSDBG, to make the facilities of DEBUG available to him. DEBUG's PSi and registers are as they were at the time that the abend
recovery routine was invoked. From DEBUG, the user may alter the PSi or
registers, as he wishes, and type GO to continue processing, or type RETURN to return to so that abend recovery can continue.
The second option available is to type in any other command. If this
is done, DMSABN performs its abend recovery function and passes control
to DMSINT to execute the command that has been typed in.
The abend recovery function consists of the following steps:
1. The SVC handler, DMSITS, is reinitialized, and all stacked save
areas are released.
2. "FINIS * * *u is invoked by means of SVC 202, to clese all files,
and to update the user file directory.
3. If the EXEC interpreter (EXECTOR module) is in
released.
storage, it is
4. All link blocks allocated by the as macros simulation routine DMSSLN are freed.
5. If VSAM or Access Method Services are still active, call DMSVSR for
cleanup.
6. All FCB and DOSCB pointers are zeroed out.
7. All user storage is released.
8. The amount of system free storage
computed. This figure is co.pared
storage that is actually allocated.
storage recovery can be considered
unequal, then a aessage is sent to the
that should be allocated is
against the amount of free
If the two are equal, then
successful. If they are
user. CMS Diagnostic Aids 2-241
Previous Page Next Page