April 1, 19S1 Reading CP Abend Dumps
Two types of printed dumps occur when CP abnormally ends, depending upon
the options specified in the CP SET DUMP command. When the dump is
directed to a direct access device, VMFDUMP must be used to format and
print the dump. VMFDUMP formats and prints: Control blocks General registers Floating-point registers Control registers TOD Clock Processor Timer Storage If in attached processor mode, formats and prints both PSAs' storage
Storage is printed in hexadecimal notation, eight words to the line,
with EBCDIC translation at the right. The hexadecimal address of the
first byte printed on each line is indicated at the left.
If the CP SET DUMP command directed the dump to
the printed format of the dump is the same as with
the control blocks are not formatted and printed.
attached processor, all of the registers, etc.,
abending processor. Also, each PSA is printed
tape or the printer, VMFDUMP, except that
If the system was an
are printed for the
before printing main When the Control Program can no longer continue and abnormally
terminates, you must first determine the condition that caused the
abend, and then find the cause of that condition. You should know the
structure and function of the Control program. "Part 2: Control Program (CP)" contains information that will help you understand the major
functions of CP. The following discussion on reading CP dumps includes
many references to CP control blocks and control block fields. Refer to VMLJ1Q Control Block 1Qgic for a description of the CP control blocks. Figure 9 shows the CP control block relationships.
Also, you will need the current load map for CP to be able to identify
the modules from their locations. REASON FOR THE ABEND
Determine the immediate reason for the abend. You need to examine
several fields in the PSA (prefix Storage Area), to find the reason for
the abend. In a uniprocessor system, the PSA is in locations 0 to 4095. In an attached processor system, each processor has its own PSA. 1. Examine the program old PSi and program interrupt code to find
whether or not a program check occurred in CP. The program old PSW (PROPSW) is located at X'2S' and the program interrupt code (INTPR) is at X'SE'. If a program check has occurred in supervisor mode,
use the CP system load map to identify the module. If you cannot
find the module using the load map, refer to "Identifying a
Pageable Module." Figure 47 in "Appendix A: System/370 Information" describes the format of an Extended Control PSi. 46 VM/370 System Programmeris Guide
2. Examine the SVC old PSi, the SVC interrupt code, and the abend code
to find whether or not a CP routine issued an SVC O. The SVC old PSi {SVCOPSW} is located at 1'20', the SVC interrupt code (INTSVC) is at X'8A', and the abend code (CPABEND) is at X'314'. The abend code (CPABEND) is a fullword. The first three bytes
identify the module that issued the SVC 0 and the fourth bite is a
binary field whose value indicates the reascn for issuing an SVC O. Use the CP system load map to identify the module issuing the SVC O. If you cannot find the module using the CP system load map. refer to "Identifying a Pageable Module". Figure 41 in Appendix A
describes the format of an Extended Control PSi. 3. Examine the old PSi at X
If an abnormal termination occurs
because the operator pressed the system restart button, the old PSi at location X'08' points to the instruction that was executing when CP recognized the abnormal termination. Figure 41 in Appendix A describes the format of an Extended Control PSi. 4. For a machine check, examine the machine check old PSi and the
logout area. The machine check old PSi (8COPSi) is found at X'30' and the fixed logout area is at X
Also examine the machine
check interrupt code (INTMC) at X'E8'. COLLECT INFORMATION Examine several other fields in the PSA to analyze the status of the
system. As you progress in reading the dump, you may return to the PSA to pick up pointers to specific areas (such as pointers to the real
control blocks) or to examine other status fields.
The following areas of the
information. PSA may contain useful debugging
1. CP Running Status Field
The CP running status is stored in CPSTAT at location X'348'. The
value of this field indicates the running status of CP since the
last entry to the dispatcher. Value of X'80' X'40' X'20' X'08' 2. Current User Comments cp-Is-In wait state CP is running the user in RONUSER CP is executing a stacked request CP is running in supervisor state
The PSi that was most recently loaded by the dispatcher is saved in RUNPSW at location X'330', and the address of the dispatched is saved in RUNUSER at location X'338'. Also, examine the contents
of control registers 0 and 1 as they were when the last PSi was
dispatched. See RUNCRO (X'340') and RONCR1 (X'344') for the
control registers. Part 1. Debugging with V8/310 41
Previous Page Next Page