IBM Support

PH15887: DFHDS0002 0204 OCCURS AFTER PURGE OF TASK WITH CONTROL IN DB2 & OPENAPI PROGRAM

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A CICS task is purged while control is in DB2. During abend
    processing for the task a DFHDS0002 0204 error occurs:
    .
    DFHDS0002 A severe error (code X'0204') has occurred in
     module DFHDSTCB.
    .
    After the DS0002 0204 error, the user task hangs. Dispatcher
    shows the state of the task is RESUMED EARLY. The task can't be
    purged or forcepurged, and the associated DB2 thread cannot be
    cancelled.
    .
    At the time of the purge, control of the task was over in DB2.
    The current program for the task is defined API(OPENAPI),
    EXECKEY(CICS).  This means that the application is designated to
    run ABTERM_ALLOWED(YES) on an L8 TCB.
    .
    After the purge of the task while in DB2, the L8 TCB is
    hibernated pending termination of the user task. The purge
    causes the task to start abending AD2R. Since the L8 TCB
    is abending, the task is now running on the QR TCB. LE is
    called for Rununit_End_Invocation. As this is an abnormal end,
    LE starts to record diagnostic data to CESE which triggers a
    series of EXEC CICS commands.
    .
    At the end of every EXEC CICS command, DFHEIP tests the
    EIS_ABTERM_ALLOWED_SWITCH and decides to set the state of the
    task to ABTERM_ALLOWED(YES) since the current program was
    defined OPENAPI. However, this is wrong since at this point
    the task is now running on the QR TCB which should never run
    ABTERM_ALLOWED(YES).
    .
    At the start of the next EXEC CICS command DFHEIP checks the
    current TCB. Since this is now the QR, DFHEIP decides there
    is no need to switch back to ABTERM_ALLOWED(NO). So the task
    ends up running in an incorrect dispatcher state that is only
    detected if the task happens to suspend for some reason. Once
    the task suspends, the DFHDS0002 0204 error is detected. After
    the error, the task will hang in a RESUMED_EARLY state. The
    L8 TCB remains also since it will not terminate until the user
    task terminates. The DB2 thread can't be cancelled because DB2
    is not driven for cancel thread processing until the TCB goes
    through end-of-task (EOT) processing.
    .
    Additional Symptom(s) Search Keyword(s): KIXREVxxx
    ABTERM_YES ABTERM_NO
    CSP: TS002526956
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: A task that is running an openapi       *
    *                      program is within DB2. If this task is  *
    *                      forcepurged at this time, severe error  *
    *                      DFHDS0002 can be issued. The task does  *
    *                      not end and the corresponding open TCB  *
    *                      is not released.                        *
    ****************************************************************
    While an openapi and CICS key application is running on an L8
    TCB within DB2 the task is purged. The L8 TCB is
    hibernated awaiting end of task processing. Since the user task
    is abending it is now on the QR TCB and issues abend AD2R. This
    abend is percolated back up the stack to DFHAPLI1. At this point
    CICS attempts to move the task back to its TCB, however the L8
    is unavailable. Eventually the task issues some GETMAINS which
    lock clash with another task that is also issuing GETMAINS.The
    first task goes into a suspend where DISPATCHER notices that the
    QR TCB is in the wrong dispatcher state of ABTERM_ALLOWED(YES).
    The task issues severe error DFHDS0002 and the task goes into a
    RESUMED_EARLY state hang. As the task does not end, the L8 TCB
    is never awakened by end of task processing to be released
    leaving the thread in Db2.
    
    Additional Keywords: msgDFHDS0002 DS0002 X'0204' 0204
    

Problem conclusion

  • DFHAPLI1 has been altered so that when the change_mode request
    fails, CICS also sets the eis_abterm_allowed_switch to off
    for openapi applications, so that the task running on the QR TCB
    is not set to ABTERM_ALLOWED(YES).
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH15887

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-08-20

  • Closed date

    2019-12-23

  • Last modified date

    2020-01-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI67165 UI67166 UI67167

Modules/Macros

  • DFHAPLI1 DFHAPLJ1 DFHAPLX1
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R000 PSY UI67166

       UP19/12/24 P F912 ¢

  • R100 PSY UI67167

       UP19/12/24 P F912 ¢

  • R200 PSY UI67165

       UP19/12/24 P F912 ¢

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":"5.3","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":"5.3","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
03 January 2020