IBM Support

PM89237: MQ 64 BIT JAVA APPLICATION FAILS WHEN CSQBLB16 DETECTS A 31 BIT STORAGE SHORTAGE. ABEND0C4 OCCURS WHEN MALLOC REQUEST FAILS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • MQ java 64 bit application has many threads waiting. The failing
    thread is trying to do an MQPUT of a 94MB message.
    An malloc request of 31 bit storage fails probably because there
    is insufficient contiguous storage available to provide a 94MB
    block.
    CSQBLB16 sets MQCC_FAILED and MQRC_ADAPTER_STORAGE_SHORTAGE but
    the logic is trying to access the 31 bit storage. This results
    in an 0c4.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere MQ for z/OS Version 7 *
    *                 Release 0 Modification 1 and Release 1       *
    *                 Modification 0 using 64 bit WebSphere MQ     *
    *                 applications.                                *
    ****************************************************************
    * PROBLEM DESCRIPTION: When an application running in a 64-bit *
    *                      mode performs an API call to a local    *
    *                      queue manager, if storage below the bar *
    *                      is low, the application may abend 0C4.  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An 0C4 can occur when a malloc for a buffer at the start of
    WebSphere MQ API function fails due to a lack of free storage.
    In this case, the malloc will set the buffer pointer to null. A
    post-allocation check detects this failure and sets MQCC_FAILED
    and MQRC_ADAPTER_STORAGE_SHORTAGE. However, following this,
    processing then continues. Instead of returning from the MQGET
    with the failure, and attempting to write to the location set in
    the pointer, the code tries to write to the buffer and this
    leads to an abend 0C4.
    
    The post-allocation check should return the above MQCC and MQRC
    response in this situation.
    
    The Information Center needs to be updated with regard to the
    above MQCC and MQRC response when making an MQ API call from
    an application running in 64-bit mode.
    

Problem conclusion

  • The code has been changed to return from the API call if we
    are returned a null pointer by the malloc.
    
    Information Center topic fm13210_
    
    WebSphere MQ,
    Messages,
    API completion and reason codes,
    Reason codes,
    Reason code list,
    2127 (084F) (RC2127): MQRC_ADAPTER_STORAGE_SHORTAGE
    
    "On an MQCONN call, the adapter was unable to acquire storage."
    
    Should be amended to say,
    
    "During an MQCONN call (or any MQ API call when called from an
    application running in 64 bit mode), the adapter was unable to
    acquire storage."
    
    Also, the following paragraph should be added to the Programmer
    response.
    
    "For applications running in 64 bit mode, MQ API calls must
    allocate storage to copy the call parameters into the 31 bit
    region of the application address space.  Check that sufficient
    31 bit storage is available for the parameters of any current MQ
    API calls."
    010Y
    100Y
    CSQBLB16
    

Temporary fix

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

Comments

APAR Information

  • APAR number

    PM89237

  • Reported component name

    WMQ Z/OS V7

  • Reported component ID

    5655R3600

  • Reported release

    010

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2013-05-17

  • Closed date

    2013-05-28

  • Last modified date

    2013-08-02

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

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

    UK94602 UK94603

Modules/Macros

  • CSQBLB16
    

Fix information

  • Fixed component name

    WMQ Z/OS V7

  • Fixed component ID

    5655R3600

Applicable component levels

  • R010 PSY UK94602

       UP13/07/24 P F307 Ž

  • R100 PSY UK94603

       UP13/07/24 P F307 Ž

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

Document Information

Modified date:
02 August 2013