IBM Support

PI76266: DFHDB2055 SINGLE PHASE COMMIT FAILED RSN X'00F30018' ABENDAD2W DFHD2EX1

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You invoke a web application that accesses DB2 after
    migration to CICS/TS 5.3.  You receive:
    DFHDB2055 Single phase commit failed with reason code
    x'00F30018' for transaction TRN1
    DFHDU0203I A transaction dump was taken for dumpcode: AD2W
    Tranid: TRN1 Tranum:  Program: DFHD2EX1.
    DFHAC2250 The coordinator system has indicated that the current
    unit of work is to be backed out.  Transaction TRN1 running
    program DFHD2EX1 has been abnormally terminated with abend
    ASP3.
    
    Looking at the abbreviated trace you will see the following on
    the T8:
    AP 2522 ERM   EVENT PASSING-CONTROL-TO-REQUIRED-TRUE(DSNCSQL)
    AP 3180 D2EX1 ENTRY SYNCPOINT-MANAGER     REQUEST
    AP 3250 D2D2  ENTRY SINGLE_PHASE_COMMIT   22BFD030
    AP 327B D2D2  EVENT ABOUT_TO_ISSUE_DB2_SINGLE_PHASE_COMMIT
    AP 327C D2D2  EVENT RETURN_FROM_DB2_SINGLE_PHASE_COMMIT
    AP 327D D2D2  *EXC* DB2_SINGLE_PHASE_COMMIT FAILED
    AP 325A D2D2  EVENT ABOUT_TO_ISSUE_DB2_DISSOCIATE
    AP 325C D2D2  *EXC* FAILED_TO_DISSOCIATE
    AP 3253 D2D2  *EXC* RECOVERY_ROUTINE_ENTERED
                              SINGLE_PHASE_COMMIT,22BFD030
    
    The kernel will show an abend04E issued from within DSNAPRHX.
    
    The task has started life under a T8 TCB. It is a Liberty
    transaction.  The Java program does a LINK_EXEC to another
    program (QR) and then links to another which is a quasirent
    CICSAPI COBOL program.  That program wants to call DB2, so
    DFHERM switches it to an L8 TCB.
    When the DB2 call completes, DFHERM switches it back to the
    QR, but the L8 is not unplugged from DB2 at this point.
    
    
    The transaction unwinds back to its initial Java program and
    its T8 and enters syncpoint.  DB2 gets called for Syncpoint
    under the T8.  There is no TCB switch here since the T8 is a
    valid key 8 TCB and should be good to go on to DB2.  However,
    the DB2 thread is still plugged into the L8.
    
    
    
    
    
    
    Additional Symptom(s) Search Keyword(s): KIXREVSWM
    

Local fix

  • Define the program with CONCURRENCY(THREADSAFE)
    if the program is written to threadsafe standards.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Message DFHDB2055 Single phase commit   *
    *                      failed with reason code X'00F30018'     *
    *                      issued for JSON web service program     *
    *                      in CICS.                                *
    ****************************************************************
    CICS is processing a JSON web service request
    using z/OS Connect.
    DFHPIJS runs to process the request. The web service target
    is a non-Java application, which contains calls to an RMI (DB2).
    The task is switched to the QR TCB, and is later switched
    to an L8 TCB by the CICS DB2 attachment facility. The L8 TCB
    is associated with a DB2 thread.
    The DB2 calls are executed successfully. Upon returning to
    the CICS pipeline domain, a TCB change mode is performed to
    switch execution back to the original T8 TCB.
    .
    At commit time, the task attempts to syncpoint under the
    T8 TCB, but the RMI is still connected to the L8, leading to
    an abend. CICS issues message:
    DFHDB2055  Single phase commit failed with
    reason code X'00F30018' for transaction tttt task nnnnn
    A transaction dump (code AD2W) is produced, followed by
    abendASP3.
    .
    Additional Keywords: APS3 msgDFHDB2055 DB20555 00F30018
                         msgDFHAC2250 DFHAC2250 AC2250
    

Problem conclusion

  • DFHPIJS has been modified such that if a TCB change mode is
    required upon return from an invoked application program, the
    CICS RMI is notified. This allows for the successful dissociate
    of an associated DB2 thread if required.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI76266

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    000

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-02-08

  • Closed date

    2017-02-23

  • Last modified date

    2017-03-02

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

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

    UI44954

Modules/Macros

  • DFHPIJS
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R000 PSY UI44954

       UP17/02/25 P F702

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:
02 March 2017