++ USERMOD(TMVS806) /* REWORK(20230327) */ . ++ VER (Z038) FMID(EBB1102) PRE (UZ62593) /* PROBLEM DESCRIPTION(S): TMVS806 - Add symptom dump display routine SYSVTSYM, and a hook to link to it in RTM dump module IEAVTABD. SYSVTSYM produces output that is generally compatible with that produced by the IBM routine IEAVTSYM in later MVS releases. There are three differences between SYSVTSYM and the later IBM code: 1) The symptom dump routine tries to find the name of the load module containing the abend PSW address. IEAVTSYM searches the job pack queue and the active RB queue to find the module name. SYSVTSYM searches the job pack queue, the active LPA queue and the pageable link pack directory. 2) The symptom dump routine attempts to display 12 bytes surrounding the abend PSW address. IEAVTSYM accesses the storage to be displayed in the TCB protect key. SYSVTSYM accesses the storage in key zero. This avoids any possible protection exception because of a protect key mismatch. 3) It is theoretically possible for the 12 bytes to be displayed to cross a page boundary, and for one of the two pages to be displayable while the other isn't, perhaps because there are no segment and page tables for it. IEAVTSYM has elaborate and complex code to deal with this extremely rare case. SYSVTSYM does not attempt to: if any of the 12 bytes cannot be accessed, the whole range is considered inaccessible and an error message is displayed instead. This prevents a partial storage display in the exception case, but makes the code much simpler. COMPONENT: 5752-SC1CM-EBB1102 APARS FIXED: TMVS806 SPECIAL CONDITIONS: ACTION: An IPL with CLPA is required after installation of this user modification. DOCUMENTATION: Description of message IEA912I added. Publication: OS/VS2 MVS System Messages Form Number: GC38-1002 Message IEA912I is added as follows: IEA912I RECOVERY/TERMINATION SYMPTOM DUMP FAILED DUE TO reason Explanation: During recover from an abend, a symptom dump was attempted but failed for one of the following reasons: If reason is "GETMAIN FAILURE": SYSVTSYM was unable to obtain work area storage. If reason is "ABEND IN SYSVTSYM": An abend occurred in SYSVTSYM during summary dump processing. System Action: A symptom dump is not produced. DOCUMENTATION: Description of message IEA995I added. Publication: OS/VS2 MVS System Messages Form Number: GC38-1002 Message IEA995I is added as follows: IEA995I SYMPTOM DUMP OUTPUT {SYSTEM|USER} COMPLETION CODE=cde [REASON CODE=rsn] TIME=hh.nn.ss SEQ=sssss CPU=cccc ASID=asid PSW AT TIME OF ERROR xxxxxxxx xxxxxxxx ILC x INTC xx {ACTIVE LOAD MODULE=mmmm ADDRESS=aaaa OFFSET=nnnn | NO ACTIVE MODULE FOUND} {DATA AT PSW hhhhhhhh - dddddddd dddddddd dddddddd | DATA AT PSW IS INACCESSIBLE} GPR 0-3 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx GPR 4-7 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx GPR 8-11 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx GPR 12-15 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx END OF SYMPTOM DUMP The system issues this message whenever an abend completion code has the dump bit on. In the message text: SYSTEM COMPLETION CODE=cde The system completion code from the abend macro. USER COMPLETION CODE=cde The user completion code from the abend macro. REASON CODE=reason-code The reason code if one can be determined. TIME=hh.mm.ss The time that the dump was written in hours (00 through 23), in minutes (00 through 59), and in seconds (00 through 59). SEQ=sssss Sequence number for the dump. CPU=cccc The central processor identifier. If cccc is 0000, the system did not determine on which processor the abend occurred. ASID=asid The address space identifier (ASID) of the failing task. PSW AT TIME OF ERROR xxxxxxxx xxxxxxxx The program status word (PSW) at the time of error. ILC x Instruction length code for the failing instruction. INTC xx Interrupt code for the failing instruction. ACTIVE LOAD MODULE=mmmm Load module name, if the PSW points to an active load module. ADDRESS=aaaa Address of the load module, if the PSW points to an active load module. OFFSET=nnnn Offset into the load module of the failing instruction, if the PSW points to an active load module. DATA AT PSW hhhhhhhh - dddddddd dddddddd dddddddd Address in the PSW minus six, followed by the contents of the three words beginning at the address in hhhhhhhh. DATA AT PSW IS INACCESSIBLE The 12 bytes of storage on either side of the abend PSW address could not be accessed. This is probably due to the storage not being backed by page table entries. GPR n-n xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx The content of the general purpose registers at the time of error. COMMENTS: LAST CHANGE: 2023/03/27 REWORK HISTORY: 2023/03/27: Write IEA995I message to system messages data set. 2022/11/22: Fix missing SPACE statement. 2022/10/14: Documentation. 2022/10/01: Display the IEA995I message on the terminal if the current job is a TSO user that has specified PROFILE WTP. 2002/04/19: Created. CROSS REFERENCE-MODULE/MACRO NAMES TO USERMODS IEAVTABD TMVS806 SYSVTSYM TMVS806 CROSS REFERENCE-USERMODS TO MODULE/MACRO NAMES TMVS806 IEAVTABD SYSVTSYM THE FOLLOWING MODULES AND/OR MACROS ARE AFFECTED BY THIS USERMOD: MODULES IEAVTABD SYSVTSYM LISTEND */. ++ JCLIN. ++ ZAP (IEAVTABD) DISTLIB(AOSC5 ). ++ SRC (SYSVTSYM) DISTLIB(ASAMPLIB) SYSLIB(SAMPLIB ) DISTMOD(AOSC5 ).