IBM Support

OA44818: UCB ERRORS AFTER SWAP AND DYNAMIC ACTIVATE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A swap event during an HCD Dynamic Activate can cause mismatched
    control blocks between UCBs (Unit Control Blocks) and the ULUT
    (UCB Lookup Table).  This can lead to problems within services
    referencing these UCBs.
    
    PROBLEM SCENARIO:
    A Dynamic Activate rebuilds the ULUT during the time that
    IOSVSWAP invocations from a swap management product swap devices
    aaaa (at UCB address xxxxxxxx) and bbbb (at UCB address
    yyyyyyyy).  The contents of these UCBs are swapped, so that UCB
    xxxxxxxx now points to device bbbb and UCB yyyyyyyy now points
    to device aaaa.
    
    However IOSVSWAP swapped the ULUT entries for the swap occurred
    before the new ULUT became active, so the swap of the ULUT
    entries was lost.
    
    A ULUT search for device aaaa would then incorrectly find UCB
    address xxxxxxxx which now points to device bbbb, and a ULUT
    search for device bbbb would then incorrectly find UCB address
    yyyyyyyy which now points to device aaaa.
    
    
    EXTERNAL SYMPTOMS:
    IOS Services such as UCBINFO may fail when the input parameters
    appear to be valid.  Abends may also be seen suggesting invalid
    UCBs, such as:
     ABEND438 RSN02390003 - The storage specified by the input
       UCB address does not map to a valid UCB
     ABENDC0D from IOSRMIHP with SDWA information indicating:
       IOSB AND IOQ UCB ADDRESS MISMATCH
     ABEND7C6 RSN01 - The PTOKEN supplied as input on the UCBPIN
       macro request contains incorrect data.
    
    
    VERIFICATION STEPS:
     - Verify that a Dynamic Activate occurred (which does not need
       to affect the devices in question).  Message IOS500I (or
       IOS1500I) will be seen for the completion of the activate.
     - Verify that a swap event (such as HyperSwap or Autoswap)
       occurred and swapped the devices in question during the time
       when the dynamic activate occurred.
     - Verify that the ULUT getmain time was near the time that the
       IOSVSWAP invocations would have occurred.
        The ULUT address is seen with the following command:
          ip l 10?+7c?+d0?+8 len(4)
        The OWNCOMM report can be used to see getmain times:
          ip verbx vsmdata 'owncomm detail sortby(address)'
    
    IOS Level 2 support should verify that the ULUT entries for the
    devices are mismatched.
    

Local fix

  • None, IPL is necessary to rebuild the ULUT
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users at HBB7780 and above who use GDPS      *
    *                 hyperswap, Basic Hyperswap or other          *
    *                 products that swap UCBs.  Users who only     *
    *                 use DDR swap are not affected.               *
    ****************************************************************
    * PROBLEM DESCRIPTION: After a UCB swap occurs during a        *
    *                      Dynamic I/O Activate, some UCB LookUp   *
    *                      Table (ULUT) entries point to the wrong *
    *                      UCBs.  Effects may include:             *
    *                      - Failure of IOS services, such as      *
    *                        UCBINFO                               *
    *                      - ABEND438 RSNxxxx0003 - The storage    *
    *                        specified by the input UCB address    *
    *                        does not map to a valid UCB           *
    *                      - ABENDC0D in IOSRMIHP with SDWA        *
    *                        information indicating:               *
    *                        IOSB AND IOQ UCB ADDRESS MISMATCH     *
    *                      - ABEND7C6 RSN01 - The PTOKEN supplied  *
    *                        as input on the UCBPIN macro request  *
    *                        contains incorrect data               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    During a Dynamic Activate, if UCB(s) are swapped after the new
    ULUT is built and before the new ULUT becomes the current one,
    the updates to the ULUT caused by the swap are lost.  This
    causes some ULUT entries to point to the wrong UCBs (as if the
    swap had not occurred).
    

Problem conclusion

  • Dynamic Activate processing is changed to check whether a UCB
    swap has occurred before making the new ULUT current.  If a swap
    has occurred, the new ULUT is rebuilt.  This will ensure that
    any updates caused by the swap are included in the new ULUT.
     KEYWORDS: HYPERSWP/K
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    OA44818

  • Reported component name

    IOS

  • Reported component ID

    5752SC1C3

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-03-21

  • Closed date

    2015-12-21

  • Last modified date

    2016-02-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UA80194 UA80195 UA80196

Modules/Macros

  • IOSTRFMT IOSVCMES IOSVCMUB IOSVCMUP IOSVFMTJ
    

Fix information

  • Fixed component name

    IOS

  • Fixed component ID

    5752SC1C3

Applicable component levels

  • R7A0 PSY UA80194

       UP16/01/06 P F601 Ž

  • R780 PSY UA80195

       UP16/01/06 P F601 Ž

  • R790 PSY UA80196

       UP16/01/06 P F601 Ž

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 February 2016