A fix is available
APAR status
Closed as program error.
Error description
CICS is processing an inbound SOAP request when this problem happens. The problem requires a SOAP header handler program be active and for a context switch to take place. During the SEND-RESPONSE phase of the PIPELINE, the SOAP header handler program has to issue EXEC CICS SOAPFAULT CREATE. This causes DFHPISN to drive the header programs again for HANDLER-ERROR. DFHPISH is called to manage this process. However, its list of programs to call was freed at the end of the SEND-RESPONSE phase and so it needs to be reconstructed. This process requires the data from the DFHPARSE-OUTPUT container. The SET data for the container has been freed when the container got re-imported after running the user task. Depending on whether the SET storage got reused will effect the error that occurs in DFHPISN. Looking at trace for this problem, this is what it shows: PI 0C17 PISN ENTRY - CALL_HEADERS PI 0C80 PISH ENTRY FUNCTION(HANDLER-ERROR ) SOAP_LEVEL(1) ENVELOPE_PTR() TERMINAL_NODE() SERVICE_NODE_ELEMENT(00000000) CHANNEL_POOL_TOKEN() PROGRAM_LIST_PTR() PI 0C82 PISH DATA FUNCTION(HANDLER-ERROR ) ENVELOPE_PTR() PROGRAM_LIST_PTR() PROGRAM_LIST() SM 0301 SMGF ENTRY - FUNCTION(GETMAIN) GET_LENGTH(22C) SUSPEND(YES) INITIAL_IMAGE(00) STORAGE_CLASS(CICS) SM 0302 SMGF EXIT - FUNCTION(GETMAIN) RESPONSE(OK) ADDRESS(14340318) PI 0C8A PISH *EXC* - LOGIC_ERROR PI 0C83 PISH *EXC* - ENTRY_PARAMETERS_ON_ERROR FUNCTION(HANDLER-ERROR ) SOAP_LEVEL(1) ENVELOPE_PTR() TERMINAL_NODE() SERVICE_NODE_ELEMENT(00000000) CHANNEL_POOL_TOKEN() PROGRAM_LIST_PTR() PI 0C85 PISH *EXC* - DATA_ON_ERROR FUNCTION(HANDLER-ERROR ) ENVELOPE_PTR() PROGRAM_LIST_PTR() PROGRAM_LIST() PI 0C84 PISH *EXC* - EXIT_PARAMETERS_ON_ERROR FUNCTION(HANDLER-ERROR ) PROGRAM_LIST_PTR(00000000) HEADER_PROGRAM_RESPONSE(8) RESPONSE(4) REASON(22) Additional Symptom(s) Search Keyword(s): DFHPI0001 KIXREVSWM
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: DFHPI0002 A severe error (code x'0C8A') * * has occurred in module DFHPISH. * **************************************************************** * RECOMMENDATION: * **************************************************************** A provider PIPELINE with at least 1 SOAP header handler is installed in CICS. A SOAP message is received by CICS and passed to this PIPELINE for processing. DFHPISN parses the SOAP message and the output from the parser is placed in the DFHPARSE-OUTPUT container. DFHPISN accesses the output using GET CONTAINER SET. References to data within this SET area are kept in the PISN block for this request. DFHPISH is called to invoke the header handler programs. To do this a program_list structure is created using information from the PISN block, which ultimately refers to the DFHPARSE-OUTPUT SET buffer. One of the handler programs has caused a context switch to occur. This means that the apphandler (DFHPITP) runs in a separate task managed by request streams. This process causes the current channel to be exported and sent to the new task. On completion the original containers on the channel are deleted and a the updated channel is imported. During the deletion process the DFHPARSE-OUTPUT SET buffer was freemained. DFHPISH is called to invoke the header handler programs again. It uses the program_list structure created earlier. One of the header handler programs generates a SOAP Fault. When DFHPISH completes, the program_list structure is deleted. Due to the SOAP Fault being created, DFHPISH is called again so that the header programs can be notified of the error. The program_list structure was deleted so a new one is required. This is built using the PISN block for this request which still contains references to data in the DFHPARSE-OUTPUT SET buffer. This buffer doesn't exist any more. The results are unpredictable and depend on whether the area of storage has been reused or not. In this case a DFHPI0002 message and dump were issued.
Problem conclusion
DFHPISH has been changed to no longer delete the program_list structure. DFHPISN has been changed to delete the program_list structure on completion of processing the SOAP request. It has also been changed to use GET CONTAINER INTO instead of GET CONTAINER SET when retrieving the DFHPARSE-OUTPUT container data. This allows the storage area to persist for the lifetime of DFHPISN.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
×**** PE17/12/27 FIX IN ERROR. SEE APAR PI87928 FOR DESCRIPTION
APAR Information
APAR number
PI46768
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-08-12
Closed date
2015-12-15
Last modified date
2017-12-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PI53994 UI33893
Modules/Macros
DFHPISN
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R800 PSY UI33893
UP16/01/06 P F601
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":"5.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":"5.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
27 December 2017