IBM Support

PH56881: NULLPOINTEREXCEPTION DURING RECOVERY OF WS-AT SUBORDINATE IN WSATRECOVERYCOORDINATOR.FROMLOGDATA CAUSES RECOVERY TO FAIL

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • WebSphere Application Server v8.5.5.22 startup fails and the
    following errors are thrown in the SystemOut.log:
    
    WTRN0000E: An internal error occurred in method reconstruct in
    class com.ibm.ws.tx.jta.TransactionImpl; the exception stack
    trace follows: javax.transaction.SystemException
    at com.ibm.ws.Transaction.wstx.WSATRecoveryCoordinator.fromLogD
    ata(WSATRecoveryCoordinator.java:128)
    at com.ibm.ws.tx.jta.TransactionImpl.reconstructCoordinators(Tr
    ansactionImpl.java:1609)
    at com.ibm.tx.jta.impl.TransactionImpl.reconstruct(TransactionI
    mpl.java:745)
    at com.ibm.ws.tx.jta.RecoveryManager.handleTranRecord(RecoveryM
    anager.java:1015)
    at com.ibm.tx.jta.impl.RecoveryManager.replayTranLog(RecoveryMa
    nager.java:499)
    at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java
    :2160)
    at java.lang.Thread.run(Thread.java:830)
    Caused by: java.lang.NullPointerException
    at com.ibm.ws.Transaction.wstx.WSATRecoveryCoordinator.fromLogD
    ata(WSATRecoveryCoordinator.java:118)
    
    WTRN0025E: Recovery of Transaction failed
    javax.transaction.SystemException
    at com.ibm.ws.tx.jta.TransactionImpl.reconstructCoordinators(Tr
    ansactionImpl.java:1618)
    at com.ibm.tx.jta.impl.TransactionImpl.reconstruct(TransactionI
    mpl.java:745)
    at com.ibm.ws.tx.jta.RecoveryManager.handleTranRecord(RecoveryM
    anager.java:1015)
    at com.ibm.tx.jta.impl.RecoveryManager.replayTranLog(RecoveryMa
    nager.java:499)
    at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java
    :2160)
    at java.lang.Thread.run(Thread.java:830)
    
    WSVR0009E: Error occurred during startup
    com.ibm.ws.exception.RuntimeError:
    javax.transaction.SystemException:
    javax.transaction.SystemException
    at com.ibm.ws.tx.util.WASTMHelper.asynchRecoveryProcessingCompl
    ete(WASTMHelper.java:176)
    at com.ibm.tx.util.TMHelper.asynchRecoveryProcessingComplete(TM
    Helper.java:57)
    at com.ibm.tx.jta.impl.RecoveryManager.recoveryFailed(RecoveryM
    anager.java:1464)
    at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java
    :2172)
    at java.lang.Thread.run(Thread.java:830)
    Caused by: javax.transaction.SystemException:
    javax.transaction.SystemException
    at com.ibm.tx.jta.impl.RecoveryManager.replayTranLog(RecoveryMa
    nager.java:535)
    at com.ibm.tx.jta.impl.RecoveryManager.run(RecoveryManager.java
    :2160)
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  WebSphere Application Server users          *
    *                  of Web Services-Atomic Transactions (WS-    *
    *                  AT)                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: NullPointerException occurs during      *
    *                      recovery in                             *
    *                      WSATRecoveryCoordinator.fromLogData     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When using the WS-AT protocol, the WebSphere Application Server
    implementation does not provide the WS-AT Coordinator to the
    subordinate until prepare time.  A subordinate transaction may
    unilaterally rollback, for instance due to a client inactivity
    timeout, in which case the subordinate will not have a
    reference to the superior's Coordinator.
    When the subordinate transaction branch rolled back due to a
    timeout, it misidentified the 1PC rollback on timeout as being
    the second phase of a 2PC rollback when handling a subsequent
    Exception while distributing the rollback to its enlisted
    reosurces and mistakenly logged the subordinate branch.
    On a subsequent restart of the subordinate application
    server, the logged subordinate transaction branch was read in,
    but no Coordinator for the superior was found, resulting in the
    NullPointerException.
    

Problem conclusion

  • The WS-AT code was modified so that it did not mis-identify the
    1PC rollback as a 2PC rollback when handling Exceptions from
    its own enlisted resources.
    
    The fix for this APAR is targeted for inclusion in fix pack
    8.5.5.25 and 9.0.5.18. For more information, see 'Recommended
    Updates for WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH56881

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-09-11

  • Closed date

    2023-10-02

  • Last modified date

    2023-10-02

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

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

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
03 October 2023