A fix is available
APAR status
Closed as program error.
Error description
The problem is noticed by getting the following message and the Region crashes. . DFHRM0002 LOCALRGN A severe error (code X'0377') has occurred in module DFHRMLSO. . Looking further into the LOG backing up to see what occurs before this you see. . DFHSM0102 LOCALRGN A storage violation (code X'0D05') has been detected by module DFHSMMF. . DFHAP0001 LOCALRGN An abend (code ---/ACTL) has occurred at offset X'169A' in module DFHCRIU. . In the eyecatcher area of the DFHSM0102 message above you see the following. . *e.....F4."..........DFHAC2206 09* *:53:52 REMOTRGN Transaction TRAN * *failed with abend AXGA. Updates * *to local recoverable resources b* * * . So in the Remote Region you see the following error. . DFHAP0002 REMOTRGN A severe error (code X'4E12') has occurred in module DFHAPCR. . The problem is caused by an Application that performs a DPL request with a large COMMAREA and causes a TIOA to be allocated that exceeds the TIOA size limit. The limit for a TIOA to do a DPL request is 32767. To send a DPL request, DFHXFP need to build some headers, like FMH5 and FMH43. The request can also include ORD, ACD,and ICRX data. In the customer case the COMMAREA length is 32453 bytes long. ODR data is also present and it account for 523 bytes. There is also a DFHTRANSACTION CHANNEL which is 117 Bytes in length. Totalling 33093. There is also an extra 65 bytes for FMH and argument codes and length which bring the total length of the data to 33158. DFHXTP will only GETMAIN a TIOA to it's maximum value of 32767. After the GETMAIN, DFHXTP move the data into the TIOA which is 33158 long causing the overlay. The overlay will only be detected when the TIOA storage get FREEMAIN. It can also cause other problem for any other task using the storage that has been overlaid. So the result could be unpredictable. . The CICS/TS knowledge center warn the customer that a safe value for a COMMAREA size is 24K. . This is the quote from the knowledge center under the LINK command for the LENGTH value: . This value should not exceed 24 KB if the COMMAREA is to be passed between any two CICS servers (for any combination of product/version/release), otherwise, if you are confident that the COMMAREA will not be passed on a further LINK request, you can use a COMMAREA up to 32763 in length. . This limitation is when using a COMMAREA on the LINK request. The 24k is a safe value and the customer can use a bigger COMMAREA for DPL request which will work until the limit of the session TIOA size has been exceeded. The recommendation will be for a CHANNEL and CONTAINERS to be used instead of COMMAREA. However, the code in DFHXFP is not very clever at determining if the limit has been hit when using COMMAREA which has a disastrous consequences for the customer. The code could do better by issuing an abend or message or both instead of overlaying storage. Additional Symptom(s) Search Keyword(s): KIXREVWRW
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: Message DFHSM0102 'A storage violation * * (code X'0D05') has been detected by * * module DFHSMMF' is issued during a * * DPL request. * **************************************************************** A distributed program link (DPL request) from Region A to Region B passes a user CHANNEL and the DFHTRANSACTION CHANNEL on an MRO connection. The user program in Region B then issues a DPL request to Region C with a large COMMAREA. The session TIOA is restricted to 32K when the DFHTRANSACTION CHANNEL and COMMAREA are being passed. However, the total length needed for the large COMMAREA, the DFHTRANSACTION CHANNEL header and other data, such as the Origin Description Record (ODR), is greater than that. DFHAPCR EXPORT_ALL fails to create the CHANNEL header but returns an OK response. DFHXFP then overlays beyond the end of the TIOA when moving the COMMAREA data into it. The DPL request is sent to Region C and the unflatten for the DFHTRANSACTION CHANNEL fails with abend AXGA because there is no CHANNEL header. The error leads to an ATNI on return to Region B. There is no FREEMAIN for the TIOA at this point. A subsequent task issues a DPL request on the same MRO session and needs a larger TIOA. A FREEMAIN is issued for the overlaid TIOA and CICS terminates with message DFHSM0102 code X'0D05' for the storage violation.
Problem conclusion
CICS is changed to check if a COMMAREA and the DFHTRANSACTION CHANNEL are being passed on a DPL request. If so, CICS checks that all the request data, other than the CHANNEL header which has yet to be created by DFHAPCR, will fit into 31K. This leaves plenty of space for the CHANNEL header. If the request data exceeds 31K, the transaction abends with new abend code AXGE. The CICS Transaction Server for z/OS v5.2 CICS Messages and Codes Vol 1 (GC34-7283-00) and the CICS Transaction Server for z/OS v5.3 CICS Messages and Codes Vol 1 (GC34-7418-00) will be updated to include the following explanation for new transaction abend code AXGE: AXGE Explanation: A distributed program link (DPL) request, specifying channel name DFHTRANSACTION, has also specified a COMMAREA that is too large for the terminal I/O area (TIOA). System Action: The task is abnormally terminated with a transaction dump. User Response: Check if the request is using the correct length for the COMMAREA. If a DFHTRANSACTION channel is specified the COMMAREA size should not exceed 24 KB. In this case to accommodate a size greater than 24 KB specify a user channel instead of a COMMAREA. Module: DFHXFP
Temporary fix
Comments
APAR Information
APAR number
PI76708
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-02-15
Closed date
2017-03-15
Last modified date
2017-04-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI45562 UI45565
Modules/Macros
DFHXFP DFHXFQ
GC34728300 | GC34741800 |
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
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.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":"5.2","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 April 2017