IBM Support

PK58730: JAVA.LANG.ILLEGALSTATEEXCEPTION WITH ACTIVITYSESSIONS IN A BEANMETHOD LTC

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This problem occurs under some circumstances when
    ActivitySessions are used by an EJB or web component for which
    the Local Transaction Containment boundary is configured to be
    "BeanMethod". The external symptom of this problem are an FFDC
    record when the runtime raises and handles an internal error.
    The FFDC includes an exception stack for an
    IllegalStateException as follows:
    .
    Exception = java.lang.IllegalStateException
    Source =
    com.ibm.ws.ActivitySession.UserActivitySessionImpl.endSession
    probeid = 438
    Stack Dump = java.lang.IllegalStateException: Cannot begin a
    LocalTransactionContainment. A LocalTransactionContainment is
    already active.
    at
    com.ibm.ws.LocalTransaction.LocalTranCurrentImpl.begin
         (LocalTranCurrentImpl.java:143)
    at
    com.ibm.ws.LocalTransaction.LocalTranCurrentSet.begin
         (LocalTranCurrentSet.java:112)
    at
    com.ibm.ws.LocalTransaction.LTCUOWCallback.uowPostEnd
         (LTCUOWCallback.java:381)...
    When an application component has its Local Transaction
    Containment (LTC) boundary configured to be "BeanMethod" (which
    is the default) then any resource manager local transactions
    (RMLTs) will be completed or cleaned up before the end of the
    application method. When an application component has its Local
    Transaction Containment boundary configured to be
    "ActivitySession" then any resource manager local transactions
    (RMLTs) will be completed or cleaned up before the end of any
    ActivitySession or, in the absence of an ActivitySession, before
    the end of the application method. The presence of an
    ActivitySession should not affect the manner in which an
    application uses a resource manager local transaction *unless*
    the LTC boundary is ActivitySession. The use of
    UserActivitySession (to begin an ActivitySession) by an
    application component for which LTC boundary is configured to be
    BeanMethod is perfectly valid but this should simply establish
    an ActivitySession under which other application components
    are invoked - it should not affect the RMLTs used by the
    original component.
    The fix for this problem ensures that any RMLTs used by a
    component honour the configured LTC boundary.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All IBM WebSphere Application Server        *
    *                  V6.1 users of Activity Sessions.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: IllegalStateException was thrown when   *
    *                      using the Activity Session Service      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The external symptom of this problem was that an
    IllegalStateException was thrown and an FFDC record was written.
    The FFDC included the following stack trace:
    
    Exception = java.lang.IllegalStateException
    Source =
    com.ibm.ws.ActivitySession.UserActivitySessionImpl.endSession
    probeid = 438
    Stack Dump = java.lang.IllegalStateException: Cannot begin a
    LocalTransactionContainment. A LocalTransactionContainment is
    Already active.
    at
    com.ibm.ws.LocalTransaction.LocalTranCurrentImpl.begin(LocalTran
    CurrentImpl.java:143)
    at
    com.ibm.ws.LocalTransaction.LocalTranCurrentSet.begin(LocalTranC
    urrentSet.java:112)
    at
    com.ibm.ws.LocalTransaction.LTCUOWCallback.uowPostEnd(LTCUOWCall
    back.java:381)...
    
    When an application component has its Local Transaction
    Containment (LTC) boundary configured to be "BeanMethod" (which
    is the default) then any resource manager local transactions
    (RMLTs) will be completed or cleaned up before the end of the
    application method.
    
    When an application component has its Local Transaction
    Containment boundary configured to be "ActivitySession" then any
    resource manager local transactions (RMLTs) will be completed or
    cleaned up before the end of any ActivitySession or, in the
    absence of an ActivitySession, before the end of the application
    method. The presence of an ActivitySession should not affect the
    manner in which an application uses a resource manager local
    transaction unless the LTC boundary is ActivitySession.
    
    The use of UserActivitySession (to begin an ActivitySession) by
    an application component for which LTC boundary is configured to
    be ?BeanMethod? is perfectly valid but this should simply
    establish an ActivitySession under which other application
    components are invoked - it should not affect the RMLTs used by
    the original component.
    

Problem conclusion

  • The fix for this problem ensures that any Resource Manager Local
    Transactions used by a Component honor the configured LTC
    boundary.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 6.1.0.17.  Please refer to the Recommended Updates
    page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK58730

  • Reported component name

    WEBSPH APP SERV

  • Reported component ID

    5724J0800

  • Reported release

    61A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-12-31

  • Closed date

    2008-04-02

  • Last modified date

    2008-04-13

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

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

    PK64084

Fix information

  • Fixed component name

    WEBSPH APP SERV

  • Fixed component ID

    5724J0800

Applicable component levels

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z PSY

       UP

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

Document Information

Modified date:
28 December 2021