APAR status
Closed as program error.
Error description
The CHIN log has errors: DUMP TITLE=CSQ1,ABN= 0C4-00000004,C=MQ900.930.CHIN,M=CSQXDISP,L OC=CSQXBNTM.????????+00ED2 CSQX112E +CSQ1 CSQXDISP Dispatcher process error, TCB=008B41D8 reason=0C4000-00000004. In the dump, the PSW for the ABEND0C4 is in module CSQXBNT1 at offset x'8D0'. The problem occurs when MQ attempts to use a reverse DNS lookup to establish the hostname associated with the IP address of a new channel connection, and the DNS server is returning a large number of matching hostnames. In the reported case, DNS returned 35 hostnames. MQ has logic to handle long lists of hostnames by limiting the number which get copied into the channel's storage. However, there are errors in the logic that manages these lists: 1) If tracing is active, an attempt to record the oversized list is made using a trace call with the wrong number of parameters. This results in residual data being treated as a length for the data to be traced. If the residual data is a valid length then the wrong data will be traced but processing will continue. If the residual data represents a bad length (e.g. a very large value that causes unallocated storage to be accessed), then the ABEND0C4 can occur. 2) If tracing is inactive or the trace succeeds, then the code truncates the buffer size for storing the hostnames, but it goes on to try to copy all the hostnames into the buffer. This results in data over-running the end of the allocated buffer and potentially overlaying storage allocated for other purposes.
Local fix
If possible, reduce the number of host names in DNS associated with a particular ip address. If that is not possible, the reverse lookup can be disabled with the MQ comomand: ALTER QMGR REVDNS(DISABLED) REVDNS(ENABLED) is required for matching against CHLAUTH rules that contain host names and to include the host name in error messages. If you use the hostname provided in channel connection error messages as an aid in problem diagnosis, use the DISABLED setting only as a temporary workaround.
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 3 Modification 0 and Release 4 * * Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: When a channel initiator attempts to * * establish a channel connection, the job * * may abend with code 0C4-00000004. This * * abend occurs in module CSQXBNTM during * * reverse DNS lookup processing. * **************************************************************** The failure occurs when the remote ip address of incoming channels resolved to a large number of hostname aliases. MQ processes these hostnames in two passes: first to calculate buffer size needed, then to allocate the buffer and copy the hostnames. Current limits to the entries is 32 or 2048 bytes. Errors in the logic start to appear once these limits are hit: * If trace is active, the incorrect parameter is passed into the trace routine causing an abend in the tracing code. * In the first pass, a check is present to prevent a buffer that is greater than the limit, however this logic is missing in the second pass and so all the aliases are processed and wrote beyond the allocated buffer, leading to an 0C4. * If channel events are enabled and a large number hostnames are present, the fixed buffer is not big enough to hold all hostnames leading to an FFST being issued.
Problem conclusion
This APAR corrects the logic in hostname processing to prevent both tracing and buffer overrun errors. The fix ensures that trace calls use valid parameters and that hostname copying respects buffer size limits. The buffer for channel events now dynamically reallocates storage to support an increased number of hostname entries in cases where an FFST would have been issued.
Temporary fix
Comments
APAR Information
APAR number
PH66092
Reported component name
IBM MQ Z/OS V9
Reported component ID
5655MQ900
Reported release
300
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-04-10
Closed date
2026-05-07
Last modified date
2026-05-07
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UO07728 UO07729
Modules/Macros
CMQXREVN CSQIRECP CSQMSTRT CSQXCRHN
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"300","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]
Document Information
Modified date:
07 May 2026