A fix is available
APAR status
Closed as program error.
Error description
The 0C4 is occuring when a message with an RFH2 is put onto a shared queue with CFLEVEL 5 and OFFLOAD(SMDS). If the length of the message not including the RFH2 is less than the length of the supplied buffer specified on the MQGET, but the length of the message including the RFH2 is greater than the length of the supplied buffer, then the MQGET will return with MQCC/MQRC 0 rather than MQCC and MQRC 2080, MQRC_TRUNCATED_MSG_FAILED. . Additional keywords: MQSMDS/K
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of WebSphere MQ for z/OS Version 7 * * Release 1 Modification 0 using SMDS messages * **************************************************************** * PROBLEM DESCRIPTION: An MQGET on a shared SMDS queue can * * succeed if the length of the message * * plus its header exceeds the length of * * the getter's buffer. It should have * * failed with MQRC_TRUNCATED_MSG_FAILED * * if MQGMO_ACCEPT_TRUNCATED_MSG is not * * specified. An FFST may be produced by * * rstSendAsyncMessage when client code * * detects the length error. An 0C4 PIC * * 11 in rstSendAsyncMessage in CMQXRSTF * * may also be encountered. * **************************************************************** * RECOMMENDATION: * **************************************************************** This APAR addresses the SMDS case for APAR PM67738. The problem occurs when a message with subsequent headers following the MQMD is put onto a shared queue with CFLEVEL 5 and OFFLOAD(SMDS). For example, for a message with an MQRFH2, if the length of the data following the RFH2 is less than the length of the supplied buffer specified on the MQGET, but the length of the RFH2 plus the following data is greater than the length of the supplied buffer, then the MQGET will return with MQCC 0 rather than MQCC 1 and MQRC 2080, MQRC_TRUNCATED_MSG_FAILED. CSQIMGES doesn't detect that the message length plus the header exceeds the getter's buffer, and as a result fails to issue a MQRC_TRUNCATED_MSG_FAILED. This APAR also fixes an additional problem that can be encountered after the fix for PM67738. When getting a message from a shared queue and MQGMO_PROPERTIES_IN_HANDLE or MQGMO_NO_PROPERTIES is specified (or the associated setting in PROPCTL is present), and the message is stored in a CFLEVEL 4 (non-SMDS) CFSTRUCT with an RFH2, CSQIMGES will return CSQI_TEXT_BUFFER_TOO_SMALL. This is because that, in this case, the calculation of the message length, before comparing with the amount of message data moved into the caller's buffer, the RFH2 is counted twice in error.
Problem conclusion
CSQIMGES has been changed to correctly calculate the message length when comparing data actually moved into the caller's buffer. 100Y CSQIMGES
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM77160
Reported component name
WMQ Z/OS V7
Reported component ID
5655R3600
Reported release
100
Status
CLOSED PER
PE
YesPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-11-15
Closed date
2013-04-15
Last modified date
2013-06-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK93446
Modules/Macros
CSQIMGES
Fix information
Fixed component name
WMQ Z/OS V7
Fixed component ID
5655R3600
Applicable component levels
R100 PSY UK93446
UP13/05/08 P F305 «
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.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 June 2013