Abend/Wait/Loop modifier keyword procedure

To determine the failing media manager function, use the following procedure to locate the calling program and identify the type of call.

  1. Use the dump obtained earlier for either the abend or wait/loop type-of-failure.
  2. Register 13 at the time of the abend points to the save area of the media manager's caller. Standard save area conventions are followed. Linkage to media manager is by registers 14 and 15. Parameters are passed in registers 0, 1, and 2. In DFSMS, media manager uses the BAKR instruction, and the registers are saved on the linkage stack. The registers are not saved in the standard storage area. It is possible to format the linkage stack with IPCS.
  3. Locate in the dump the save area pointed to by register 13. Locate register 14 in the save area; it points to the calling program's next sequential instruction following the instruction that called media manager.
  4. Locate in the dump the instruction in the calling program that passed control to media manager. The instruction is similar to the one shown:
    Machine         Assembler
    Language        Language
    Instruction     Instruction     Usage
    
    440E044A        EX 0,1098(14)   (Common for all linkages)
  5. Trace backward from that instruction, looking for the following sequence of linkage instructions:
    Machine         Assembler
    Language        Language
    Instruction     Instruction
    
    58E00010        L 14,16(0)
    58F0E148        L 15,328(,14)
    58F0F010        L 15,16(,15)
  6. One of the instructions shown in Table 1 follows this sequence of instructions. It identifies the media manager function invoked by the caller.
    Table 1. Identifying the Media Manager Function Invoked
    Machine Language Instruction Assembler Language Instruction Modifier (Function) keyword
    58F0F008 L 15,8(,15) INIT
    58F0F00C L 15,12(,15) RDWR
    58F0F010 L 15,16(,15) FMTWR
    58F0F014 L 15,20(,15) PFMT
    58F0F018 L 15,24(,15) CNVT (RBA TO CCHHR)
    58F0F01C L 15,28(,15) CNVT (CCHHR TO RBA)
    58F0F020 L 15,32(,15) SRV
    58F0F028 L 15,40(,15) COMMIT, DISCARD
    58F0F030 L 15,48(,15) WRITE
    58F0F034 L 15,52(,15) PIO
    58F0F038 L 15,56(,15) PIOPG
    58F0F03C L 15,60(,15) PIOC

    Tip: Because I/O and program processing are asynchronous, the most recent program activity might not involve a media manager call. However, by looking for these linkage instructions, you can locate the most recent media manager calls to the INIT, CNVT, or SRV functions.

  7. Specify the media manager function as the modifier keyword.

    Example: If the function is CNVT, specify the keyword as CNVT.

  8. If the function is neither INIT, CNVT, nor SRV, continue with this process. Otherwise, see Table 1.
  9. The function must be either RDWR, FMTWR, or PFMT. Continue with this procedure.
  10. If functional recovery routines are in effect and a program check or abend occurs either in the media manager or in an exit routine from the media manager, the system automatically directs a summary dump of media manager control blocks to the SYS1.DUMPxx data set.

    When printing a dump from a SYS1.DUMPxx data set, print at least the summary dump portion of the dump, using the IPCS dump formatter (see z/OS MVS IPCS User's Guide for details on using this service). If ICYFRR issued the SDUMP, use the sample media manager dump in Media Manager diagnostic aids for the following steps:

  11. Locate in the dump the media manager process block (MMPB). It is near the beginning of the summary dump, and the acronym MMPB in EBCDIC representation appears at offset 0 in the MMPB itself.

    If you cannot locate the media manager process block this way, use the following procedure:

    1. Locate the MMVT by using the CVTMMVT field in the CVT and look for the first storage vector MMSV by using the eye catcher ICYMMSV1. See the sample media manager dump in Media Manager diagnostic aids.
    2. Each two-word MMSV entry following the eye catcher consists of a lockword (unused or caller's ASID) followed by a pointer to the media manager storage block containing the MMPB(s). Multiple MMPBs exist, some of which are active and some inactive; to find the one that might be related to the failure, examine the MMPASID and MMPBPARM fields for the ASID and input parameters, respectively.
  12. The MMPFLG2 field in the MMPB is a 1-byte field that identifies which media manager function was in control.
    MMPFLG2 Value Modifier (Function) Keyword
    X'08' PFMT
    X'10' FMTWR

    Example: If the function is PFMT, specify the modifier keyword as PFMT.

    If neither value is present, the function, by default, is RDWR.

  13. See Table 1.