A fix is available
APAR status
Closed as program error.
Error description
Environment: Z/OS 1.10 - IMS V10 Shared Queue two way - 2 IMS members MS1DCTL and MS2DCTL (control region), MS1DCSLS and MS2DCLSL (sci task) Problem description: - on day 201080 - 01:41:18 - user issued the command //DIS TRAN IL01 under Mainview Plex product on LPAR SECA (task MVPLEX) - at this time only MS1DCTL member was active - the //DIS TRAN command was not executed successfully - at 2010080 01:41:18.43 this msg was issued: CSL3117E SVC ABEND S0C4 MEMBER RB1MA7NB PSW=074C0000 A3DE69E4 RSN=00000004 CSLSRG20=23DE5D68 REG PROC - at 2010080 01:41:21.34 : CSL3117E SVC ABEND S0C4 MEMBER RB1MA7NB PSW=070C2000 814992A4 RSN=00000004 CSLSRG20=23DE5D68 CLEANUP DUMPID=002 REQUESTED BY JOB (MVPLEX ) - after that many 0C4 abends were reported at CLS task (MS1DCSLS) DIAG=4004000184 (RETRYING) - on Wednesday as this task was filling spool, the customer brought down this task, but didn't get to bring it up again. The 0C4 abend persisted and the SCI didn't stay active. - At this night the customer brought down all IMS members in this Shared group and also did cold start in the Shared Queue structure, but again the SCI task didn't stay up. - What happened in customers case is that the CMBR storage was freed, but then a second registration came along and just happened to get the same storage again. The PMBR already pointed to the CMBR from the first registration. Now when the same CMBR was chained in for the second registration, it got chained to itself, creating a looped CMBR chain off of the PMBR.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V11 SCI users. * **************************************************************** * PROBLEM DESCRIPTION: ABEND0C4 in CSLSTOA0. * * * * ABEND0C4 in CSLSPLR0. * * * * CMBR chain points to storage that * * has been released. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** SCI does not support an address space registering multiple times using different keys, but it does not check for this during registration. When an address space tries to register a second time using a different key than the first registration, an abend is encountered in CSLSRG20. When CSLSRG20 tries to clean up by deleting the storage obtained for the new registration, two additional ABEND0C4 abends are encountered due to coding errors in the cleanup code. The first abend occurs when SCI attempts to delete the input exit cell pool. Before deleting the cell pool, it switches to the key saved in the CMBR block (which matches the key of the first registration). However, the cell pool was obtained using the caller's key, which in this case is different. This results in an ABEND0C4. The second abend occurs when SCI attempts to return a cell to the registration cell pool. Before it frees the cell, the pointer to the cell is zeroed out (to ensure that this is not repeated). This results in an ABEND0C4 when the CPOOL service tries to return a cell at location x'00'. Because of the way the code is structured, the second abend results in bypassing the code that unchains the CMBR block from the the CMBR blocks under a particular PMBR. Instead of executing that code, it goes directly to the code that releases the CMBR, even though the CMBR is still on an active chain. The above scenario results in a CMBR chain that points to storage that has been released. When this storage is reused, it will eventually result in multiple ABEND0C4 abends when SCI modules attempt to process all the CMBR blocks by follwing the CMBR chain.
Problem conclusion
GEN: KEYWORDS: *** END IMS KEYWORDS *** A new registration error reason code is added to CSLSRG20. This reason code is returned when the key of a subsequent registration from an address space does not match the key from the first registration from that address space. The errors in the cleanup subroutine are fixed. SCI Macro Changed ================== CSLSRR A new reason code is added : SRSN_WRONGKEY. This reason code is returned when the key does not match the key of the first registration from the address space. SCI Module Changed ================== CSLSRG20 A check is added to ensure that the key matches the key of the first registration from this address space (if multiple registrations). If the keys don't match, the registration is rejected with a return code of SC_ENVIRON and reason code of SRSN_WRONGKEY. The registration cell return is pulled into its own if-then-else clause. The pointer to the cell is saved before the CMBR cell pointer is cleared. The saved pointer is used in the CPOOL (FREE) service. The following publication updates are made by this APAR: IMS Version 11: System Programming API Reference SC19-2445 In chapter 8 (Writing a CSL SCI Client), add the following paragraph in the CSLSCREG section. Add it following the paragraph describing the SYSEVENT DONTSWAP restriction: Restriction: One address space may register multiple times with SCI. However, all registrations from one address space must be made while running in the same PSW key and state (supervisor or problem) as the first registration made in the address space. Add the following entry to table 68 (CSLSCREG return and reason codes): Return Code Reason Code Meaning x'01000010' x'0000402C' Caller key does not match key of existing registration or state (supervisor or problem) does not match state of existing registration.
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM12402
Reported component name
IMS V11
Reported component ID
5635A0200
Reported release
100
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2010-04-15
Closed date
2010-09-02
Last modified date
2010-10-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK60321
Modules/Macros
CSLSRG20 CSLSRR
| SC19244501 |
Fix information
Fixed component name
IMS V11
Fixed component ID
5635A0200
Applicable component levels
R100 PSY UK60321
UP10/09/14 P F009
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":"100","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 October 2010