IBM Support

PH04627: MQ Z/OS: LEAK OF ARGH AND ZRFP BLOCKS IN SP131 KEY8 WHEN MQDLTMH / CSQCDTMH HAS AN ERROR FREEING MESSAGE PROPERTIES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following errors were reported in a CICS joblog:
    
    CSQY291E CSQWDSDM SDUMPX FAILED, RC=00000408,ssid,
    ABN=878-00000010
    
    DFHMQ0480 E MQCC=2 MQRC=2195, QRPL at X'<address1>' FRB at
    X'<address2>'.
    
    DFHDU0201 ABOUT TO TAKE SDUMP. DUMPCODE: MQ0480
    
    IEA794I SVC DUMP HAS CAPTURED:
     DUMP TITLE=CICS DUMP: SYSTEM=cicsid CODE=MQ0480   ID=1/nnnn
    
    DFHDU0217 LQ01CINO SDUMPX request completed with a return
     code of X'04'. A complete or partial dump has been taken.
    
    The application logged errors of:
    - MQGET   MQ RC: 2  MQ Reason: 2195  MQRC_UNEXPECTED_ERROR
    - MQGET   MQ RC: 2  MQ Reason: 2119  MQRC_NOT_CONVERTED
    - MQDLTMP MQ RC: 2  MQ Reason: 2471  MQRC_PROPERTY_NOT_AVAILABLE
    
    The ABEND878 was for private storage in the CICS job in Subpool
    131 Key 8 (SP131 K8 KEY8).  A systrace entry for the failing
    STORAGE OBTAIN had its PSW in MQ module CSQMALCH.
    
    The storage had an AHSG eyecatcher in EBCDIC and a ZRFP
    eyecatcher in ASCII, which is related to MQ message properties.
    
    A GTF trace of a prior instance of this symptom showed that the
    storage was obtained during MQGET processing to create a
    message handle for the message and its properties being
    retrieved. This would be driven based on the MQGMO options
    (i.e. MQGMO_PROPERTIES_AS_Q_DEF or MQGMO_PROPERTIES_IN_HANDLE)
    and the PropertyControl (PROPCTL) queue attribute for the queue
    the MQGET is being performed against. Further details of this
    processing is described in the Product Documentation for
    MsgHandle (MQHMSG) at:
    https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm
    .mq.ref.dev.doc/q096760_.htm
    
    In the previous instance of this symptom, it was found that the
    MsgHandle needed to be deleted using MQDLTMH or CSQCDTMH.
    
    In the case associated with this APAR, MQDLTMH was present but
    sometimes failed with reason 2471 MQRC_PROPERTY_NOT_AVAILABLE.
    Calls intended to free storage for message properties were
    failing with rrcE_BAD_PARAMETER, thus allowing the storage to
    be leaked.
    
    The failing calls to free message property storage occur when
    the queue manager has allocated the storage due to the original
    block (allocated by the adapter) being too small to contain the
    properties in the message being returned by MQGET.
    
    
    Additional Symptom(s) Search Keyword(s):
    ABEND878 ABENDS878 878 S878 S0878 RC10 RC00000010
    LSQA OSCORE
    5655Y0400 5722DFJ00 CICS TS Transaction Server
    

Local fix

  • Recycle the job / CICS region that ran out of storage.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 0 Modification 0 and Release 1       *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: MQ Message Property API calls return    *
    *                      MQCC_OK / MQRC_NONE following an        *
    *                      unsuccessful attempt to free message    *
    *                      property storage.                       *
    *                                                              *
    *                      Storage shortage in the address space   *
    *                      of MQ applications that use message     *
    *                      properties.                             *
    *                      Symptoms can include                    *
    *                      - abend S878                            *
    *                      - MQI calls failing                     *
    *                        MQRC_UNEXPECTED_ERROR (2195)          *
    *                        MQRC_ADAPTER_STORAGE_SHORTAGE(2127)   *
    *                        MQRC_NOT_CONVERTED (2119)             *
    *                                                              *
    *                                                              *
    ****************************************************************
    While copying message properties to the buffer contained in a
    message handle provided by an application, the queue manager
    detected that the buffer was too small and allocated a new
    buffer - this buffer is allocated in the application address
    space.
    When the buffer is no longer required (for example, when the
    message handle is deleted), it is added to a chain for later
    processing.
    This chain is processed at the start of the next MQ Message
    Properties API call (e.g. MQSETMP, MQDLTMP) and an attempt to
    free the storage is made, however an error in CSQAFRMN causes
    this to fail.
    This causes the storage to be leaked, and the API call that was
    processing the chain to return MQCC_OK MQRC_NONE before the
    underlying function to process the call is executed.
    

Problem conclusion

  • CSQAFRMN is changed to correctly free message property storage
    allocated by the queue manager.
    
    MQMSGPROP/K
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH04627

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-10-29

  • Closed date

    2018-11-06

  • Last modified date

    2019-01-02

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

    PH04379

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

    UI59512 UI59513

Modules/Macros

  • CSQAFRMN
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI59512

       UP18/12/14 P F812 ¢

  • R100 PSY UI59513

       UP18/12/15 P F812 ¢

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":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
02 January 2019