IBM Support

PI73778: WMQ ABEND0C4 CSQXBPQY DURING GSK_SECURE_SOCKET_WRITE PROCESSING

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Change Team finds failure occurred in an gsk_secure_socket_write
    SSL I/O module CSQXQIOC issued an cciBufferOutput call via
    routine cciSKWRite. The buffered I/O functions in csqxccib were
    called for cciBufferOutput, bufferManage, and bufferResize. As
    part of the bufferResize processing a call was made to
    ccxAllocMem to obtain storage for the re-sized buffer before a
    csqx_bpqy_get_header query call to retrieve the buffer pool
    header. Query buffer pool module csqxbpqy handled the call,
    initially setting up addressability to control blocks such as
    the DWA (addressed off the channel initiator's XEB control
    block) however the DWA pointer in the XEB can not be relied upon
    during SSL processing (in this case containing a null pointer)
    During lock group processing a compare/swap instruction was
    employed to set the lock in the pool header. As the pool header
    was addressed off of the DWA the CS failed with the abend
    reported here.
    ADDITIONAL SYMPTOMS :
    ABEND0C4 and/or ABEND5C6 - 00E70052
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of IBM MQ for z/OS Version 9 Release 0             *
    * Modification 0.                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Message CSQX153E CSQXSERV SSL server subtask ended           *
    * abnormally,                                                  *
    * reason=0C4000-00000004, during SSL send processing.          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * None                                                         *
    ****************************************************************
    During SSL send processing module csqxqioc issues a
    cciBufferOutput call from routine cciSKWrite. The buffered i/o
    functions in csqxccib are called for cciBufferOutput,
    cciBufferManage and, as pSSLSENDBUFFER is null, bufferResize to
    obtain an SSL send buffer. A suitable buffer is found on the
    free chain and re-used. If a suitable buffer had not been found
    fresh storage would have been obtained on a 4k boundary for a
    new buffer pool.
    A csqx_bpqy_get_header call is then issued by bufferResize to
    locate the buffer pool header, passing the address of the buffer
    just obtained. Module csqxbpqy first sets up addressability to
    critical control blocks such as the DWA, which it addresses off
    the channel initiator XEB control block. However the DWA pointer
    in the XEB can not be relied upon during SSL processing, and in
    this case contains a null pointer, so the DWA is based on
    low-core storage.
    The pool header for this re-used buffer does not start on a 4k
    boundary, and can not be found by rounding down the passed
    buffer address, so csqxbpqy has to scan all the buffer chains to
    locate the passed buffer, and it's corresponding pool header. As
    part of this scan processing, lock_group is called and uses a
    compare and swap instruction to set the lock in the pool header.
    As the pool header is addressed off the DWA, the compare and
    swap fails with the reported ABEND0C4.
    
    CSQX153E !QMGR CSQXSERV SSL server subtask ended abnormally,
    TCB=xxxxxxxx reason=0C4000-00000004
    

Problem conclusion

  • Query buffer pool module csqxbpqy is updated to address the
    DWA by other means when the pointer to it in the XEB is zero.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI73778

  • Reported component name

    MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-12-14

  • Closed date

    2017-02-28

  • Last modified date

    2017-04-11

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

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

    UI45092

Modules/Macros

  • CSQXBPQY none
    

Fix information

  • Fixed component name

    MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R000 PSY UI45092

       UP17/03/30 P F703

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":"LOB45","label":"Automation"}}]

Document Information

Modified date:
11 April 2017