A fix is available
APAR status
Closed as program error.
Error description
The 402 abend occurs due to an attempt to post an ECB in unavailable storage - the storage address is actually x'C3888195' = 'Chan', and is part of the CSQX599E message issued immediately before the abend occurred. The problem appears to be that CSQXSRVR has queued a QSPL to the adapter tasks, but then returned early with CSQX_NO_SERVERS due to the qmgr having been killed. The QSPL contains pointers to storage in CSQXADPM (the caller of CSQXSRVR)'s automatic storage. When CSQXSRVR returns early, CSQXADPM also returns (in this case reporting the failure of MQBACK due to MQRC_CONNECTION_BROKEN), and the automatic storage is subsequently reused. When chinit termination calls CSQXADPC on the supervisor task later, routine Cancel_QRPLs attempts to post any outstanding QRPL's queued to the adapters, based on the queue of QSPLs. When it gets to the QSPL from the CSQXADPM/CSQXSRVR call mentioned above, QSPL.pItem points to an area of reused automatic storage that previously held the ECB address. Depending on the contents of this storage, the ?post macro could either succeed (overlaying the storage addressed by the new value) or abend 402 if the storage is inaccessible. In the latter case, as the supervisor had not yet finished notifying other tasks to end, CSQXJST ends up waiting indefinitely, causing the termination to hang. . Additional symptoms and keywords: ABEND402 ABENDS402 STOP CHINIT potential overlay
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM MQ for z/OS Version 9 * * Release 2 Modification 0. * **************************************************************** * PROBLEM DESCRIPTION: Various problems can occur when the * * channel initiator shuts down as a * * result of abnormal queue manager * * termination, including * * - abend 402-00000000 * * - abend 702-00000014 * * - channel initiator hang during * * termination * * - high CPU in channel initiator during * * termination * **************************************************************** When the channel initiator queued a request to the adapter tasks it attempted to find a suitable adapter to process the work, and resumed it. However the resume request failed due to the adapter tasks terminating because the queue manager had terminated abnormally. CSQXSRVR reported the MQRC_CONNECTION_BROKEN, however the request remained queued. Later on in chinit termination processing CSQXADPC dequeued the request and posted it, however as the storage containing the ECB had subsequently been reused, the ?post macro abended S402. Depending on how the storage was reused, other abends can be seen, for example S702, and/or CSQXADPC can enter a loop condition that results in high CPU and chinit termination hanging.
Problem conclusion
CSQXSRVR is changed to wait for the ECB to be posted by chinit termination before returning, so that the storage containing the ECB will not be reused prior to being posted.
Temporary fix
Comments
APAR Information
APAR number
PH48809
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
2022-08-19
Closed date
2023-06-15
Last modified date
2023-08-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI92265
Modules/Macros
CSQXSRVR
Fix information
Fixed component name
IBM MQ Z/OS V9
Fixed component ID
5655MQ900
Applicable component levels
R200 PSY UI92265
UP23/07/15 P F307
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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"200","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
01 August 2023