IBM Support

PK77243: JAVA.LANG.ILLEGALSTATEEXCEPTION: NO ACTIVE TRANSACTION

Fixes are available

PK77243; 6.1.0.21: Java.lang.illegalstateexception: no active transaction
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for AIX
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for IBM i
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for Windows
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for HP-UX
7.0.0.5: Java SDK 1.6 SR5 Cumulative Fix for WebSphere Application Server
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for Solaris
7.0.0.5: WebSphere Application Server V7.0 Fix Pack 5 for Linux
Java SDK 1.5 SR10 Cumulative Fix for WebSphere Application Server
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for IBM i
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for AIX
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Windows
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for HP-UX
7.0.0.7: Java SDK 1.6 SR6 Cumulative Fix for WebSphere Application Server
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Solaris
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Linux
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
6.1.0.31: Java SDK 1.5 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
6.1.0.33: Java SDK 1.5 SR12 FP1 Cumulative Fix for WebSphere
6.1.0.29: Java SDK 1.5 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
6.1.0.35: Java SDK 1.5 SR12 FP2 Cumulative Fix for WebSphere
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
6.1.0.37: Java SDK 1.5 SR12 FP3 Cumulative Fix for WebSphere
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
6.1.0.39: Java SDK 1.5 SR12 FP4 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
6.1.0.41: Java SDK 1.5 SR12 FP5 Cumulative Fix for WebSphere Application Server
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
6.1.0.43: Java SDK 1.5 SR13 Cumulative Fix for WebSphere Application Server
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
6.1.0.45: Java SDK 1.5 SR14 Cumulative Fix for WebSphere Application Server
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
6.1.0.47: WebSphere Application Server V6.1 Fix Pack 47
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
6.1.0.47: Java SDK 1.5 SR16 Cumulative Fix for WebSphere Application Server
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When running in a cluster environment, we see the following
    exceptions:
    
    [11/20/08 16:56:59:703 CET] 00000061 ExceptionUtil E   CNTR0019E
    
    : EJB threw an unexpected (non-declared) exception during invoca
    
    tion of
    method "getInputMessage". Exception data: java.lang.IllegalState
    
    Exception: No active transaction
    at com.ibm.ejs.csi.TransactionControlImpl.setRollbackOnly(Tran
    
    sactionControlImpl.java:774)
    at com.ibm.ejs.csi.UOWControlImpl.setRollbackOnly(UOWControlIm
    
    pl.java:554)
    at com.ibm.ejs.container.EJSContainer.getCurrentTx(EJSContaine
    
    r.java:2041)
    at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSCon
    
    tainer.java:3480)
    at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.j
    
    ava:2933)
    at com.ibm.task.api.EJSRemoteStatelessGenericHumanTaskManagerE
    
    JB_efcf8cd2.getInputMessage(Unknown Source)
    at com.ibm.task.api._HumanTaskManager_Stub.getInputMessage(_Hu
    
    manTaskManager_Stub.java:11181)
    at com.ibm.task.clientmodel.bean.TaskInstanceBean.getInputMess
    
    ageWrapper(TaskInstanceBean.java:1797)
    at com.bpc.samples.handler.CustomTaskMessageHandler.itemChange
    
    d(CustomTaskMessageHandler.java:67)
    at com.ibm.bpe.jsf.handler.BPCListHandlerSelectionHelper.notif
    
    yItemListener(BPCListHandlerSelectionHelper.java:342)
    at com.ibm.bpe.jsf.handler.BPCListHandlerSelectionHelper.choos
    
    eItem(BPCListHandlerSelectionHelper.java:168)
    at com.sun.reflect.GeneratedMethodAccessor200.invoke(Unknown S
    
    ource)
    at com.sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegat
    
    ingMethodAccessorImpl.java:43)
    at com.java.lang.reflect.Method.invoke(Method.java:618)
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl
    
    .java:127)
    at com.javax.faces.component.UICommand.broadcast(UICommand.jav
    
    a:305)
    at com.javax.faces.component.UIData.broadcast(UIData.java:657)
    
    at com.javax.faces.component.UIViewRoot.broadcastEvents(UIView
    
    Root.java:302)
    at com.javax.faces.component.UIViewRoot.processApplication(UIV
    
    iewRoot.java:419)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(Invo
    
    keApplicationPhase.java:77)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.j
    
    ava:220)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl
    
    .java:91)
    at com.javax.faces.webapp.FacesServlet.service(FacesServlet.ja
    
    va:197)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Serv
    
    letWrapper.java:1096)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleReques
    
    t(ServletWrapper.java:570)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequ
    
    est(ServletWrapper.java:478)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleR
    
    equest(CacheServletWrapper.java:90)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebConta
    
    iner.java:748)
    at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebCon
    
    tainer.java:1466)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChann
    
    elLink.java:119)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handle
    
    Discrimination(HttpInboundLink.java:458)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handle
    
    NewInformation(HttpInboundLink.java:387)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.co
    
    mplete(HttpICLReadCallback.java:102)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futur
    
    eCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(Abstrac
    
    tAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(A
    
    syncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136
    
    )
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:
    
    195)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(Resul
    
    tHandler.java:743)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873
    
    )
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
    
    
    The exception occurs when we invoke methods on HumanTaskManager
    enterprise bean or on BusinessFlowManager enterprise bean.
    Both beans are stateless session beans with Container managed
    trnsactions and a transaction attribute of Required.
    
    The caller is a JavaServer Faces (jsf) application that does
    not control transactions at all. We expect the EJB Container
    to create new transactions with each enterprise bean method
    (since the client doesn't deal with transactions). This seems
    not to happen. Interestingly, we see the problem only in
    cluster scenarios, not on standalone servers.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server V6.1 and   *
    *                  V7.0 Common Event Infrastructure (CEI)      *
    *                  users that set up CEI to always send events *
    *                  in a new transaction.                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: This exception is seen when events      *
    *                      are sent via multiple connections,      *
    *                      with Common Event Infrastructure        *
    *                      service configured to always send the   *
    *                      events in a new transaction. At some    *
    *                      point one of the threads treating the   *
    *                      connections will want to publish the    *
    *                      events it is dealing with. This means   *
    *                      it has to suspend the current global    *
    *                      transaction. When another thread will   *
    *                      want to do publish, wants to do the     *
    *                      same, but the global transaction is     *
    *                      already suspended. This is when the     *
    *                      exception is thrown.                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Exception that can be seen is:
    Exception = java.lang.IllegalStateException
    Source =
    com.ibm.ws.Transaction.JTA.TransactionImpl.registerSynchronizati
    on
    probeid = 2297
    Stack Dump = java.lang.IllegalStateException: Transaction is
    inactive or prepared
    at
    com.ibm.ws.Transaction.JTA.TransactionImpl.registerSynchronizati
    on(TransactionImpl.java:3555)
    at
    com.ibm.ws.Transaction.JTA.TransactionImpl.registerSynchronizati
    on(TransactionImpl.java:3525)
    at
    com.ibm.ws.Transaction.JTA.TranManagerSet.registerSynchronizatio
    n(TranManagerSet.java:507)
    at
    com.ibm.ejs.j2c.XATransactionWrapper.addSync(XATransactionWrappe
    r.java:289)
    at
    com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionMan
    ager.java:1290)
    at
    com.ibm.ejs.j2c.ConnectionManager.involveMCInTran(ConnectionMana
    ger.java:1038)
    at
    com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionM
    anager.java:602)
    at
    com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.create
    Connection(JmsJcaConnectionFactoryImpl.java:256)
    at
    com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.crea
    teConnection(JmsManagedConnectionFactoryImpl.java:208)
    at
    com.ibm.ws.sib.api.jms.impl.JmsManagedQueueConnectionFactoryImpl
    .createQueueConnection(JmsManagedQueueConnectionFactoryImpl.java
    :146)
    at
    com.ibm.ws.sib.api.jms.impl.JmsManagedQueueConnectionFactoryImpl
    .createQueueConnection(JmsManagedQueueConnectionFactoryImpl.java
    :110)
    at
    com.ibm.events.emitter.impl.J2eeJmsQueueSender.sendEvents(J2eeJm
    sQueueSender.java:268)
    at
    com.ibm.events.emitter.impl.EmitterImpl.sendEventX(EmitterImpl.j
    ava:1716)
    at
    com.ibm.events.emitter.impl.EmitterImpl.sendEvent(EmitterImpl.ja
    va:777)
    at com.ibm.websphere.cem.ECSEmitter$1.run(ECSEmitter.java:268)
    
    The transactions are failing because they are being resumed on
    multiple threads and then these contend with completion
    activities and fail with IllegalStateExceptions.
    

Problem conclusion

  • Making the transaction handler a thread-local field will
    ensure that every thread has its own transaction handler and
    will not be able to suspend/resume other threads' transaction.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 6.1.0.23 and 7.0.0.3.  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

    PK77243

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    61W

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-12-10

  • Closed date

    2008-12-11

  • Last modified date

    2008-12-11

  • 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

    WEBSPHERE APP S

  • 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

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVS22","label":"General"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
11 December 2008