A fix is available
APAR status
Closed as program error.
Error description
You run a CICSPlex SM API batch job which fails with syslog message: IEA794I SVC DUMP HAS CAPTURED: nnn DUMPID=nnn REQUESTED BY JOB (jobname) DUMP TITLE=ERROR IN INITIATOR,ABEND=0C4,COMPON=INIT,COMPID=SC1B 6,ISSUER=IEFIB620 The batch joblog contains messages: EYUXE0003I NBEBSTAT End of Task entered for CICSPlex SM nnn IEF187I jobname FAILED - SYSTEM ERROR IN INITIATOR IEF472I jobname step - COMPLETION CODE - SYSTEM=922 USER=0000 REASON=00000000 All subsequent CICSPlex SM API jobs which are scheduled to run in the JES initiator fail with message: EYUXE0029E ESSS connection termination failed: return code = X"000D" The initiator has to be stopped and restarted to recover. The failure occurs due to a timing issue where the CPSM API control subtask completed termination before the API user TCB. In this instance the user TCB was going through termination. EYU9XEET issued the EYUXEPC FUNC=TERMINATE and the TCB gave up control due to an EXT interrupt after performing a XMPOST of the API control subtask to signal termination. The SRB ran and the API control subtask ended before the user TCB was redispatched. Additional Symptom(s) Search Keyword(s): KIXREVWJB EYU9XEET EYU0ABO0 XECB XECB_FLG1_APIE XECB_FLG1_APIS signal EOT end of task termination ecb reg5 XECB_API_TRM_ECBA ATTACHX ETXR EYU2XERB DETACH
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICSPlex SM V3R2M0 Users * **************************************************************** * PROBLEM DESCRIPTION: You run a CICSPlex SM API batch * * job which fails with the following * * messages in the joblog: * * * * EYUXE0003I jobname End of Task * * entered for CICSPlex SM 320 * * IEF187I jobname FAILED - * * SYSTEM ERROR IN INITIATOR * * IEF472I jobname step - * * COMPLETION CODE - SYSTEM=922 * * USER=0000 REASON=00000000 * * * * All subsequent CICSPlex SM API jobs * * which are scheduled to run in the same * * initiator fail with message: * * * * EYUXE0029E ESSS connection * * termination failed: * * return code = X"000D" * * * * The affected initiator must be drained * * and restarted to recover. * * * * You have a batch CPSM API that goes * * into a loop. You cancel the job, but * * it hangs, and the MVS "FORCE jobname" * * command must be used to end the job. * **************************************************************** * RECOMMENDATION: After applying the PTF that resolves this * * APAR, all CMASes, MASes, and WUI servers * * must be restarted with the updated code. * * * * To restart with the updated code, the CPSM * * Environment Service System Services (ESSS) * * subsystem address space (EYUX320) must be * * terminated and the CPSM EYUX subsystem End * * of Task (EOT) exit (EYU9XEET) must be re- * * loaded on the MVS image if a CMAS has been * * started without the updated code since the * * last IPL. * * * * This can be accomplished in either of two * * ways: * * * * 1 - IPL the MVS Image. * * * * Or, if an IPL is not possible: * * * * 2 - Stop all CMASes and MASes on the MVS * * image. * * * * - Use EYU9XENF to check that no Address * * Spaces are connected to the ESSS. * * * * - Use the EYU9XEUT TERMINATE function to * * stop the ESSS service address space. * * * * - Use the EYU9XEUT RELOAD function with * * the EOT option to reload EYU9XEET, * * ensuring that UTILLIB specifies the * * SEYUAUTH library containing the updated * * version of EYU9XEET. * * * * - Refresh LLA to ensure the updated * * version of EYU9X320 is picked up. * * * * - Restart the CMASes and MASes, ensuring * * that the updated libraries are being * * picked up. * * * * For details on EYU9XENF and the EYU9XEUT * * utility functions refer to the manual "CICS * * Transaction Server for z/OS CICSPlex SM * * Problem Determination Version 3 Release 2" * * (GC34-6852-xx). * * * * Note that each MVS image can be updated * * separately, and systems on an MVS image that * * are using the new code can communicate with * * systems on other MVS images that are not yet * * using the new code. * **************************************************************** When an API program connects to CPSM, a control task is attached, whose purpose is to handle asynchronous events such as the completion of NOWAIT requests, or notification of the termination of the CMAS to which the API program is connected. When the API program disconnects, a signal is sent to the API control task from the TERMINATE PC routine, notifying it that the API program is disconnecting. It then waits to be POSTed by the ESSS subsystem's End-of-Task exit, EYU9XEET, driven on behalf of the API control task, to disconnect from the authorized PC vectors and release the External Services Con- nection Block (XECB). Termination processes running on behalf of the user's task and the API control task must be serialized to insure that resources acquired by the CPSM API are released only after all accesses to them have been resolved. If the job is cancelled it is possible that the API control task could end before the TERMINATE PC routine has sent the termination signal. In this case, EYU9XEET will wait in the TERMINATE PC routine, to be POSTed by a task which is no longer active. Because the job has already been cancelled and waits in a subsystem end-of-task exit, the FORCE command must be used to end the job. If the user task TCB loses control because of an interrupt after the API control task has been signaled to terminate, a serialization error might allow EYU9XEET, running on behalf of the user's task to free storage containing an ECB which would be posted by the API control task's ETXR exit. This also re- sults in the XECB not being freed. Because the address of the XECB in TCB User Field TCBCAUF in the RCT TCB is not cleared, all CMASes, MASes, or CPSM API programs running under the same initiator will fail until the initiator is purged and restarted.
Problem conclusion
An exclusive enqueue is used to insure that CPSM's TERMINATE PC routine can only be invoked by one caller at a time. The ESSS End-of-Task exit EYU9XEET was updated to make a conditional request for the enqueue when entered for termination of the API control task. If it cannot acquire the enqueue, it will delay for 0.5 seconds and retry, insuring that the user task has completed End-of-Task processing before driving the TERMINATE PC routine for the control task, even if the user task has been interrupted during terminate processing.
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PM49144
Reported component name
CICSTS V3 Z/OS
Reported component ID
5655M1500
Reported release
50M
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2011-09-30
Closed date
2011-12-08
Last modified date
2012-01-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PM49253 UK74584
Modules/Macros
EYURXECB EYURXEES EYUTXEPC EYU2XEEC EYU2XEET EYU9XEET EYU9X320
Fix information
Fixed component name
CICSTS V3 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R50M PSY UK74584
UP11/12/09 P F112
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"3.2","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 January 2012