A fix is available
APAR status
Closed as program error.
Error description
While enabling a JVMServer, it hangs due to a deadlock. One thread (CJSR task) is holding the SJGLOBAL lock while a another thread is trying to obtain the lock. CICS Joblog shows: DFHSJ0910 10/27/2022 10:09:38 IYCKZCHW DCTEST1 JVMSERVER JVMSRV1 has been created. Lock Manager in the dump shows one task hold an exclusive lock on SJGLOBAL while a second task is waiting. IPCS "Analyze All" confirmed that the IPT x'8C2388' held the mutex, with the child x'8A2388' waiting for it: RESOURCE #0655: NAME=Mutex Object ADDR=00000056259FCDB0 RESOURCE #0655 IS HELD BY: JOBNAME=CICSSC50 ASID=00EA TCB=008C2388 DATA=MSB ADDR: 0000005627A2DEC8 SQEL ADDR: 0000000037B94010 CAA ADDR: 0000005548408398 USER MUTEX/CV RESOURCE #0655 IS REQUIRED BY: JOBNAME=CICSSC50 ASID=00EA TCB=008A2388 DATA=MSB ADDR: 0000005627A2DEC8 SQEL ADDR: 000000003AD4E010 CAA ADDR: 00000056603FEC60
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users * **************************************************************** * PROBLEM DESCRIPTION: A deadlock during startup of a JVM * * server can prevent other JVM servers * * from starting. * **************************************************************** This is an obscure timing bug. When a JVM server is started, the IPT thread will create a new thread to run the Java classes and wait. If the child thread is delayed, the parent thread can time out and then try to cancel the child thread. In the meantime, the child thread has successfully ran the initial classes and then attempted to report back to the IPT that it had finished. This gets deadlocked because the IPT can't cancel the child thread because pthread_mutex_lock() is not a cancellation point, and the child thread cannot get the mutex because the IPT has just re-acquired it.
Problem conclusion
CICS code has been changed so if the lock is already taken, the attempt by the child thread to obtain the lock fails rather than waits.
Temporary fix
Comments
APAR Information
APAR number
PH48761
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-08-17
Closed date
2023-01-25
Last modified date
2023-02-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PH50715 UI90249 UI90250
Modules/Macros
DFHSJJS DFHSJSC DFJ@H356 DFJ@H467 DFJ@H468
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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.5","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
01 February 2023