A fix is available
APAR status
Closed as program error.
Error description
JVMSERVER abended with following messages: DFHSJ1004 An exception has been thrown by the route method of class com/ibm/cics/router/Router running in JVMSERVER TOTO. Exception 'java.lang.ThreadDeath'. ... DFHDU0203I A transaction dump was taken for dumpcode: AJVM, Dumpid: 127/0001, Tranid: P011, Tranum: 00000151, Program: TITI. and the JVMERR: 2021/02/28 22:36:33.538000 UTC E ÄQC1JGAG.TASK83.P011Ü Äcom.ibm.cics.routerÜ ÄRouterÜ ]Error: route() - Router.route() experienced a problem java.lang.NullPointerException .at java.util.LinkedList$ListItr.next(LinkedList.java:904) .at com.i bm.cics.ras.server.WrapperHelper.driveTidyUp(WrapperHelper.java: 121) .at com.ibm.cics.server.Wrapper.driveTidyUp(Wrapper.java:2613) .at c om.ibm.cics.server.Wrapper.jvmServerOSGiEntry(Wrapper.java:2708) .at com.ibm.cics.osgi.impl.Controller.runService(Controller.jav a:1473) The ThreadDeath exceptions appear to be being caused by a NullPointerException within a LinkedList. The list in question is being used to track classes that may need tidying up at the end of the Java program. The fact that the NPE occurs within the LinkedList code itself rather than CICS code that calls it implies that there is an underlying issue with the structure of the list. This can be caused by two concurrent threads updating the list state at the same time. Once the list is corrupted in this way ever use of it will fail, which is what is being observed because the task cleanup code is driven for every Java request.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: All CICS Users. * **************************************************************** * PROBLEM DESCRIPTION: NullPointerException may be seen in * * WrapperHelper.driveTidyUp() followed * * by java.lang.ThreadDeath * * in com.ibm.cics.router.Router, with * * message DFHSJ1004. * **************************************************************** Some JCICS classes, including TcpipRequest and HttpRequest, register their terminators to be called later during clean up calling WrapperHelper.registerTerminator(). However if multiple threads call registerTerminator() at the same time and add to the list of classes, corruption of the list may occur. This can cause problems at task tidy up as seen in the following message: DFHSJ1004 An exception has been thrown by the route method of class com/ibm/cics/router/Router running in JVMSERVER <name>. Exception 'java.lang.ThreadDeath'.
Problem conclusion
Method registerTerminator() has been changed to be prevent the list of classes being corrupted.
Temporary fix
Comments
APAR Information
APAR number
PH35708
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
2021-03-25
Closed date
2021-08-06
Last modified date
2021-09-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI76623 UI76624 UI76625
Modules/Macros
DFJ@H353
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R10D PSY UI76625
UP21/08/10 P F108
R200 PSY UI76624
UP21/08/13 P F108
R300 PSY UI76623
UP21/08/13 P F108
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:
02 September 2021