A fix is available
APAR status
Closed as program error.
Error description
DFHLMLM program checks with an abend 0C4 or 0C6 due to the kernel stack registers for the running task being corrupt. In the 0C6 case, register 5 was bad, and in the 0C4 case, register 13 was bad. The invalid registers are captured in the dump registers, but may be different in the kernel stack at the time of the dump due to DFHMEME being in the stack due to the error. A CPIH pipeline transaction has recently suspended in DFHSMGF trying to get the SMLOCK (smlock_get) and when it wakes up and resumes, the registers are bad in the stack and the program check happens. The registers were good at the time of the DSSR suspend, because DFHLMLM would have program checked earlier if they had been bad. So the overlay of registers happens somewhere after the CPIH task suspends and when it runs again. The value that is overlaying the stack is also in a pipeline control block called the Service Handler Element (SNE) at offset x'40'. And at offset x'44' into the SNE (Service Node Element, also referred to as the Service Handler Element) it is pointing into the kernel stack that gets corrupted. Note that there are other CPIH transactions running at the time, and some are on L8 (open) TCBs. This APAR is being taken for further investigation of the problem by the CICS Change Team. . Additional Keywords: ABENDS0C4 ABEND0C4 ABENDS0C6 ABEND0C6 DFHPISNE DFHPISN2 LMQUICK1 PI_GENRL subpool
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: MSGDFHLM0001 An abend (code 0C4/AKEA) * * has occurred in module DFHLMLM after * * processing an inbound web services * * request. * **************************************************************** * RECOMMENDATION: * **************************************************************** Multiple web service requests for the same provider pipeline are executing at the same time. Each one has its own L8 TCB. Eventually they get to the soap node in the pipeline and DFHPISN is called. DFHPISN needs to match up <headerprogram> elements in the pipeline configuration file with the actual SOAP header elements in the incoming message. The configuration file was processed at PIPELINE install time and a chain of Header Program Element (HPE) control blocks were created. The chain is anchored off the associated Service Node Element (SNE). To browse the chain of HPE's DFHPISN creates a local iterator and updates the list of iterators contained in the SNE. Once the header processing is complete DFHPISN removes its iterator from the list. Both of these actions are not threadsafe. When multiple tasks execute this same code under different L8 TCBs the list of iterators (at offset x'40' and x'44' in the SNE) can become corrupted and an address of a local iterator (in a task's stack storage) can remain in the list after the associated task has ended. When the list is manipulated again, by a new task adding an iterator, the stack storage will get corrupted. The effect of this will vary depending on what the task currently owning that storage is doing. In the cases seen so far register save areas were overlaid leading to abends in DFHLMLM. Additional keywords: S0C4 S0C6 unpredictable
Problem conclusion
DFHPISN has been changed to obtain the exclusive PILOCK around the HOP_StartIterator and HOP_EndIterator calls used to process the header program elements.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK33467
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2006-10-24
Closed date
2007-01-22
Last modified date
2007-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK21470
Modules/Macros
DESPISH DESPISN DFHPISN DFHPISN1 DFHPISN2
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK21470
UP07/01/26 P F701
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.1","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.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 February 2007