IBM Support

PI12967: DFHDS0002 0071 FOR BTS TASKS AFTER PARENT TASK IS PURGED

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • CICS region that does a lot of BTS work puts out the following
    error messages:
    .
    DFHBA0001 An abend (code 0C4/AKEA) has occurred at
     offset X'1226' in module DFHBAXM.
    DFHDS0002 A severe error (code X'0071') has occurred in
     module DFHDSSR.
    DFHXM0306 A severe error (code X'1334') has occurred while
     initializing task number xxxxx with transaction identifier
     TTTT.  The task is suspended indefinitely.
    .
    The dump shows that CICS was at MXT with most tasks backed up
    in XMPARENT suspends, waiting for a child task to complete.
    However, some of the child tasks are held for MXT reasons and
    don't get a chance to run, so the region became deadlocked.
    Eventually, tasks started getting purged (AEXY abends). The
    0C4 and DFHDS0002 0071 errors seem to have occurred when the
    parent task is purged out from under the child task. The
    XMPARENT suspends should not be purgeable with CICS.
    .
    The parent tasks created a control block in their own stack
    storage to represent the client_data_block. This gets passed to
    the child task as the REQUEST_BLOCK. When the child of a purged
    parent gets to run, this REQUEST_BLOCK is no longer valid. This
    causes the DFHBA0001 0C4 program checks.
    .
    The CICS trace entry at time of 0C4 looks like this:
    .
    BA 0172 BAXM *EXC* - Recovery_entered
             FUNCTION(BIND_ACTIVITY_REQUEST)
             REQUEST_BLOCK(4D257508 , 00000113)
    .
    When the BAXM BIND_XM_CLIENT request failed for the child task,
    that task goes on to issue message DFHXM0306, to inform the
    user that the task will be suspended indefinitely. But first,
    there is an attempt to notify the primary client that this task
    is going to suspend indefinitely. This involves issuing a
    RESUME for the BTS parent task. But the suspend token used for
    the RESUME is not valid any longer since the parent task is
    gone, and the DFHDS0002 0071 error is then issued. The
    CICS exception trace entry looks like this:
    .
    DS 0071 DSSR *EXC* - RESUME_INVALID_SUSP_TOK - FUNCTION(RESUME)
                            SUSPEND_TOKEN(0406035D)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: S0C4 in DFHBAXM BIND_ACTIVITY_REQUEST   *
    *                      processing, followed by DS0071          *
    *                      RESUME_INVALID_SUSP_TOK after task      *
    *                      purged from XMPARENT suspend.           *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A task is waiting in an XMPARENT suspend following an XMRU
    RUN_TRANSACTION call, issued as part of an EXEC CICS RUN PROCESS
    command. The child task is created, but is queued on MXT/TCLASS.
    The parent is purged from the XMPARENT suspend before the child
    task is able to run.
    When the parent is purged, the shared memory area (xmcn_context)
    is FREEMAINed.
    When the child task is able to run, it attempts to access the
    xmcn_context. This area has since been reused, so the data there
    is no longer reliable. In the reported instance the effect was
    an 0C4 program check in DFHBAXM BIND_ACTIVITY_REQUEST, called
    from DFHXMXM BIND_XM_CLIENT. This occurred when DFHBAXM
    attempted to read the activity request (activity_req) addressed
    from the primary client block (primary_client_block).
    This caused the transaction bind to fail, and DFHXMTA began to
    abend the transaction. This led to an attempt to notify the
    primary client (in this case XM domain). DFHXMXM was called for
    NOTIFY_TRANSACTION_HANG, leading to a DSSR RESUME call for the
    parent transaction. The storage holding the parent_suspend_token
    was no longer reliable, and the parent had already been purged,
    so this RESUME failed with DS 0071 RESUME_INVALID_SUSP_TOK.
    
    Additional Keywords: msgDFHDS0071 DFHDS0071 DS0002 abendS0C4
                         msgDFHXM0306 DFHXM0306 XM0306
    

Problem conclusion

  • DFHXMRM has been changed to ensure that the xmcn_context is not
    FREEMAINed if the parent is purged before the child task is
    allowed to run.
    DFHXMXM has been changed so that DFHBAXM BIND_ACTIVITY_REQUEST
    is not called during BIND_XM_CLIENT if the parent task has
    been purged. Instead, the child task will abend with a new
    abend code "ARUD".
    .
    The CICS Transaction Server for z/OS Version 5 Release 1 CICS
    Messages and Codes Vol 1 manual (GC34-2861-00) will be updated
    in chapter 2 with a new abend code; ARUD.
    .
    ARUD
    Explanation
    A RUN SYNCHRONOUS command caused an attempt to attach a
    child transaction. The parent transaction which issued the
    RUN SYNCHRONOUS command was then purged before the child
    task could be run.
    .
    System action
    CICS terminates the invoked transaction abnormally with a
    transaction dump.
    .
    User response
    None.
    .
    Module
    DFHXMXM
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PI12967

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-03-04

  • Closed date

    2014-03-28

  • Last modified date

    2015-03-05

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

    PI07896

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

    UI16722

Modules/Macros

  • DFHXMDM  DFHXMRM1 DFHXMRM  DFHXMRU  DFHXMTA  DFHXMXM
    

Publications Referenced
GC34286100    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R800 PSY UI16722

       UP14/04/11 P F404

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

Document Information

Modified date:
05 March 2015