A fix is available
APAR status
Closed as program error.
Error description
A channel receives a message, in this case an MQADMIN message, from a distributed queue manager and is passing it to a different queue manager. During data conversion by the z/OS sender channel that has CONVERT=YES, the channel to fails due to: CSQX112E CSQXDISP Dispatcher process error, TCB=nnnnnnnn reason=878000-00000014 CSQX599E CSQXRCTL Channel <channel-name> ended abnormally Reason code 14 for the ABEND878 means a negative amount of storage was specified on a GETMAIN macro. The channel on the target distributed queue manager receives: AMQ9209: Connection to host closed. AMQ9999: Channel ended abnormally. CSQX209E would be the equivalent message for a z/OS sender. The problem occurs because the message is defined as having format MQADMIN, but it starts with EBCDIC character data. The data conversion logic attempts to parse the message as PCF data. The second word of data is meant to be a length field, and in some cases the EBCDIC data appears as a negative length. This results in MQ issuing a getmain with a negative length, which causes the 878 abend. If the second word in the badly formed PCF message is a large non-negative number, then the channel correctly detects that there has been an error in conversion, puts the message on the dead letter queue with CSQX548E CSQXRCTL Messages sent to local dead-letter queue, reason=2119 (MQRC_NOT_CONVERTED) and the channel continues to run. The root of the error is something wrong with the MQADMIN message, but MQ should handle the bad message in a more graceful way.
Local fix
Correct the application building the badly formed message
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 0 Modification 0 and Version 9 * * Release 1 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: If a MQADMIN message with value over * * x80000000 at offset 4 attempts to be * * sent to a channel with channel * * conversion enabled, a * * DISPATCHER PROCESS ERROR occurs. * **************************************************************** When a MQADMIN message with a value at offset 4 greater than x80000000 attempts to be sent to a channel with channel conversion enabled, the value doesn't get checked for an appropriate size, and goes into internal error checking which in turn causes the dispatcher process error. This causes the following error: +CSQX112E MQXX CSQXDISP Dispatcher process error , TCB=009B8C68 288 reason=878000-00000014
Problem conclusion
A check has been put in place to ensure the value is an appropriate size.
Temporary fix
Comments
APAR Information
APAR number
PH24641
Reported component name
IBM MQ Z/OS V9
Reported component ID
5655MQ900
Reported release
000
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-04-21
Closed date
2020-05-28
Last modified date
2020-09-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI69737 UI69738
Modules/Macros
CSQAADM6
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":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
02 September 2020