A fix is available
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
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