IBM Support

PI28977: WMQ Z/OS: ABN=5C6-00A30042 IN CSQSHGMN DUE TO A STORAGE LEAK ABOVE THE BAR IN CERTAIN CIRCUMSTANCES 14/11/04PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ABN=5C6-00A30042,U=SYSOPR  ,C=R3600.710.SMC -CSQSHGMN,M=CSQ
    GFRCV,LOC=CSQSLD1 .CSQSHGMN+00000F20
    .
    Reason 00A30042 means a 64-bit allocation failed.
    .
    The SMC=2 or SMC=3 keyword for the CSQWDPRD dump formatter
    showed a high number of 64bit heaps for the Storage Allocation
    Block ( SAB ) for "Heap for TOPM tree & msg props".
    .
    RSMDATA HIGHVIRT ASID(x'yy') DETAIL demonstrated a pattern of
    above-the-bar storage being obtained at intervals matching the
    EXPRYINT setting.
    .
    The failing thread was EXPWRK01 for expiry / expiration. Its
    Register Save Area indicated a sequence of CSQIEXP2, CSQIMGET,
    CSQIMGES, CSQMHDRS, CSQTZR0W, and CSQSHGMN.
    .
    Expiry processing was occurring for a shared queue containing
    messages with chained headers that require parsing.
    .
    For the problem to manifest itself, UI13788 needs to be on
    CSQIEXP2, and the expiry task needs to process a very specific
    sequence of messages on a single queue (starting with a message
    containing chained headers). Control information related to
    those chained headers needs to match a very specific bit pattern
    in order for the right flags to be set on the subsequent call
    that parses message properties.
    .
    4KB of storage is leaked per message processed when the special
    pattern is met. Low queue depths will limit the exposure to the
    problem.
    .
    Follow-on symptoms may include:
    - ABN=5C6-0EA75417,U=XHM1CHIN,C=R3600.710. -UNKNOWN,M=CSQGFRCV,
    LOC=CSQMCGLM.CSQMCPRH+00002B64
    
    - ABN=5C6-00E7014F,C=R3600.710.CHIN,LOC=CSQXADPM.CSQXADPM+05268
    
    Additional Symptom(s) Search Keyword(s):
    ABEND5C6 ABENDS5C6 5C6 S5C6 S05C6 00A30042 0EA75417
    

Local fix

  • If possible, set EXPRYINT to OFF in the QMGR:
     /cpf ALTER QMGR EXPRYINT(OFF)
    where "cpf" is the command prefix for the queue manager.
    .
    Another option is to back out UI13788.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere MQ for z/OS Version 7 *
    *                 Release 1 Modification 0.                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: After applying UI13788, the queue       *
    *                      manager runs out of above the bar       *
    *                      storage. The queue manager may abend    *
    *                      with 5C6-00A30042.                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an expiry task processes a shared queue, it does a browse
    of the message. This processing requires a valid handle. The
    processing is done in a lightweight fashion, and only a partial
    handle is obtained. If CSQIEXP2 is processing a message
    containing an RFH2 header, the MMC_SEG_CHAINED_HEADERS segment
    in the parameters will be populated.
    When CSQMHDRS checks the MHND MsgPropFlags to check if message
    properties need to be extracted, it looks beyond the storage
    obtained for the partial MHND block and effectively looks at
    CSQIEXP2 stack storage. In particular the pointer to the RFH2
    header in the MMC_SEG_CHAINED_HEADERS segment.
    Depending on the address, fWantMsgHandle may appear to be set in
    the incorrectly referenced storage. zrfParse will obtain storage
    for message properties (ZRFP blocks). CSQMHDRS will not release
    that storage if the RFH2 header has been parsed. This happens if
    the message was put to a shared queue:
     - hosted on CFLEVEL(5) OFFLOAD(SMDS) structures when the shared
       queue has the PROPCTL(V6COMPAT) attribute set
     - hosted on CFLEVEL(5) OFFLOAD(DB2) or CFLEVEL(x), where x < 5,
       structures
    The storage is not released in CSQMHDRS because it is the
    getting applictions responsibility to do so. As CSQIEXP2 does
    nothing with the properties, the storage is leaked.
    

Problem conclusion

  • The code in CSQIEXP2 was changed to obtain a full MHND block at
    prevent CSQMHDRS from looking at storage that is used for a
    different purpose.
    100Y
    CSQESYNC
    CSQIEXP1
    CSQIEXP2
    CSQIMGES
    CSQMOLNO
    CSQMREF2
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PI28977

  • Reported component name

    WMQ Z/OS V7

  • Reported component ID

    5655R3600

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-11-04

  • Closed date

    2014-11-26

  • Last modified date

    2015-02-03

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

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

    PI29037 UI23450

Modules/Macros

  • CSQESYNC CSQIEXP1 CSQIEXP2 CSQIMGES CSQMOLNO
    CSQMREF2
    

Fix information

  • Fixed component name

    WMQ Z/OS V7

  • Fixed component ID

    5655R3600

Applicable component levels

  • R100 PSY UI23450

       UP15/01/16 P F501 «

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":"7.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
03 February 2015