IBM Support

PH54988: ABN=0C4-0000003B,U=XXXXXXXX,C=MQ900.920.MMC -CSQMHDRS,M=CSQGFRCV,LOC=CSQILPLM.CSQMHDRS+OFFSET

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When executing CSQUDLQH, CHIN suffers abend
    ABN=0C4-0000003B,U=XXXXXXXX,C=MQ900.920.MMC
    -CSQMHDRS,M=CSQGFRCV,LOC=CSQILPLM.CSQMHDRS+offset and CSQUDLQH
    finishes with CSQU227E Unable to get message from dead-letter
    queue, MQCC=2 MQRC=2004 (MQRC_BUFFER_ERROR).
    
    The S0C4-0000003B abend occurred in CSQMHDRS when trying to
    copy the returned message into the caller's buffer. The source
    message data address was incorrect, which resulted in the abend
    when doing the cross-memory, cross-key copy of the message data
    into the caller's buffer.
    
    The message was headed by a little-endian, ASCII DLH, which was
    followed by a little-endian, ASCII MQRFH2. The encoding and
    format data for the header chain is correct.
    
    The problem is that length field in the MQRFH2 header isn't
    being correctly byteswapped. This results in an incorrect
    calculation for the end of the MQRFH2 header. This problem only
    occurs when there is a little-endian encoded header before an
    MQRFH2 and the MQRFH2 is also little-endian.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of IBM MQ for z/OS Version 9       *
    *                 Release 2 Modification 0, Release 3          *
    *                 Modification 0.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: When trying to retrieve messages from a *
    *                      Dead Letter queue, a MQRC_BUFFER_ERROR  *
    *                      may occur, and the queue manager may    *
    *                      abend.                                  *
    ****************************************************************
    The code that retrieves the descriptors for the following header
    in the chain from the dead letter header does not account for
    the encoding of the DLH being MQENC_INTEGER_REVERSED. The values
    are then incorrectly read, eventually leading to incorrectly
    resolving the length of the following header and causing an
    abend.
    

Problem conclusion

  • The code has been modified to consider the dead letter header
    encoding while reading the header fields. This ensures that the
    correct values are passed on to the subsequent message header
    calculations, preventing message errors and abends from
    occurring.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH54988

  • Reported component name

    IBM MQ Z/OS V9

  • Reported component ID

    5655MQ900

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-06-06

  • Closed date

    2024-03-08

  • Last modified date

    2024-04-01

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

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

    UI96004 UI96005

Modules/Macros

  • CSQMHDRS
    

Fix information

  • Fixed component name

    IBM MQ Z/OS V9

  • Fixed component ID

    5655MQ900

Applicable component levels

  • R200 PSY UI96005

       UP24/03/19 P F403

  • R300 PSY UI96004

       UP24/03/19 P F403

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":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"200","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"}}]

Document Information

Modified date:
04 April 2024