A fix is available
APAR status
Closed as program error.
Error description
You are running CICS TS 5.4 and receive the following error message: DFHSM0002 A SEVERE ERROR (CODE X'0316') HAS OCCURRED IN MODULE DFHSMGF. Reviewing the dump at the time of this error shows the following exception trace: SM 0316 SMGF *EXC* - Freemain_of_pages_not_owned_by_subpool - FUNCTION(FREEMAIN) ADDRESS(xxxxxxxx) REMARK(IS_BUFF) The address xxxxxxxx is already free at the time of the dump causing the exception. Here are the trace entries prior to the exception: IS 0900 ISZA ENTRY - FUNCTION(FREE_ISSB) ISSB_PTR(address) IS 0800 ISAL ENTRY - FUNCTION(FREE_RECEIVE) ISSB_PTR(address SM 0301 SMGF ENTRY - FUNCTION(FREEMAIN) ADDRESS(xxxxxxxx) REMARK(IS_BUFF)) The failing task is associated with an IP interconnectivity-IPIC session and attempting to freemain an IS Buffer it used. Trace showed the issue where a task using this IS_BUFF xxxxxxxx, was in FREE_ISSB processing when it was suspended for the SMLOCK. While suspended, the client sent in more data, which was handled by the IPIC request/response receiver- tran CISR. It incorrectly used this buffer xxxxxxxx, before the FREE_ISSB processing had completed, resulting in a double freemain of the buffer. . Additional Symptoms: KIXREVDAM IPCONN TCPIPSERVICE
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: CICS receives a request over IPIC and * * runs a mirror task which issues message * * DFHSM0002. * **************************************************************** A client sends in a DPL request with a channel over an IPIC connection. There is more than 64k of data in the channel. When the mirror task that processed this request terminates, DFHISAL is called to free the IS_BUFF buffers that were used by this IPIC session (ISSB). The FREEMAIN of one of the buffers get suspended waiting for the SMLOCK. This buffer had the ISSB_REUSABLE flag set on. While the mirror task was suspended a second request was sent in by the client using the same session. CISR needs to receive the request into a buffer. It finds an IS_BUFF that has the ISSB_REUSABLE flag set on and uses it. This is the same IS_BUFF that DFHISAL was in the process of freeing. The mirror task eventually obtains the SMLOCK and freemains the IS_BUFF. A new mirror task is then started to process the second request. The received data is in the, now freed, IS_BUFF that CISR had reused. When this second mirror task completes it tries to freemain the IS_BUFF again. This causes message DFHSM0002 code(x'0316') to be issued and a dump taken. Additional keywords: FREE_ISSB IS0002
Problem conclusion
DFHISAL has been changed to clear the ISSB_REUSABLE flag before the call to FREEMAIN the IS_BUFF.
Temporary fix
Comments
APAR Information
APAR number
PH27326
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
100
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-07-09
Closed date
2020-10-26
Last modified date
2020-11-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI72239 UI72240 UI72241
Modules/Macros
DFHISAL
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R100 PSY UI72241
UP20/10/28 P F010
R200 PSY UI72240
UP20/10/27 P F010
R300 PSY UI72239
UP20/10/27 P F010
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.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.4"}]
Document Information
Modified date:
03 November 2020