IBM Support

PH35708: DFHSJ1004 EXCEPTION THROWN BY THE ROUTE METHOD OF CLASS COM/IBM/CICS/ROUTER/ROUTER . EXCEPTION 'JAVA.LANG.THREADDEATH'.

A fix is available

Subscribe

You can track all active APARs for this component.

 

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