A fix is available
APAR status
Closed as program error.
Error description
CICS goes into a loop when running a JAVA program. You may see message "DFHSM0139 The amount of MVS storage available to CICS is critically low." This is not the reason or cause for the loop, but it was seen in the reporting customer's case. The trigger for the problem is MAXJVMTCBS or any of the other MAXxxxxTCBS values is reached, the new task is suspended while it waits for an OPEN TCB. If the task is purged for any reason, the loop may occur. . The problem arises in DFHDSDS4 in SCAN_AWAIT_QUEUE: processing of await_tcb. This is entered when CICS has reached MAXxxxxTCBS (in this case MAXJVMTCBS) and CICS needs to SUSPEND this latest task while it waits for an OPEN TCB. If the SUSPEND exits normally then all is well. But if the task is PURGEd for whatever reason, it is removed from the awaiting_open_tcb queue. If also this is the only TCB waiter then awaiting_open_tcb goes to zero and CICS completes await_tcb. But OLDEST_AWAITER_TIME still has the STCK value from when the task entered the wait for a OPEN TCB. This is detected in partition_exit where check_long_waiters is called and the STCK value causes notify_recommended = TRUE and this in turn results in the Call notify_dsti. notify_dsti issues the ?DFHTISRI FUNCTION(REQUEST_NOTIFY_IMMEDIATELY) TISRI_TOKEN(R_N_I_DEAD_TCBS_TOKEN) which immediately ATTACHs the DS system task to run PROCESS_DEAD_TCBS. This repeats again and again causing the build up of over 5,000 DTAs. When CHECK_EXECUTABLES next runs it will remove all these UNUSED DTAs. But the ATTACHs will continue and the cycle begins again. There are about 5000 UNUSED DTAs and DS has a limit to prevent any more being created and this results in the trace entries indicating INSUFFICIENT_STORAGE: DSTCB QR DS 0004 DSSR ENTRY RESUME DSTCB QR DS 0005 DSSR EXIT RESUME/OK TI QR DS 0005 DSSR EXIT SUSPEND/OK TI QR DS 0002 DSAT ENTRY ATTACH TI QR DS 0095 DSAT *EXC* TASK_GETMAIN_FAILURE TI QR DS 0003 DSAT EXIT ATTACH/EXCEPTION INSUFFICIENT_STORAGE TI QR TI 0162 TISR *EXC* NOTIFY-TASK-NOT-ATTACHED TI QR DS 0004 DSSR ENTRY SUSPEND
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All * **************************************************************** * PROBLEM DESCRIPTION: CICS loops after purging an open TCB * * task. * **************************************************************** * RECOMMENDATION: * **************************************************************** A system has reached MAXJVMTCBS and so any new JVM tasks have to be suspended waiting for a TCB to become free. During suspend one of these new tasks gets purged, either for dtimout or manually, and so the task has to be removed from the waiting_open_tcb queue. If this is the only TCB waiting then awaiting_open_tcb will drop to zero but OLDEST_AWAITER_TIME still has the STCK value from when the task was suspended. This causes notify_dsti to be issued repeatedly as it is not cleared, causing a slow down in CICS and eventually the DFHSM0139 message may be issued. Additional keywords: msgDFHSM0139
Problem conclusion
Change DFHDSDS4 in routine SCAN_AWAIT_QUEUE to ensure that OLDEST_AWAITER_TIME is set correctly when a TCB is removed from the waiter queue.
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PK06748
Reported component name
CICSTS 3.1 Z/OS
Reported component ID
5655M1500
Reported release
400
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2005-06-06
Closed date
2005-06-10
Last modified date
2005-07-01
APAR is sysrouted FROM one or more of the following:
PK02589
APAR is sysrouted TO one or more of the following:
UK04460
Modules/Macros
DFHDSDS4
Fix information
Fixed component name
CICSTS 3.1 Z/OS
Fixed component ID
5655M1500
Applicable component levels
R400 PSY UK04460
UP05/06/21 P F506
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 July 2005