users@glassfish.java.net

Warning:Received diff Xid for open txnId:switching transactionId

From: <glassfish_at_javadesktop.org>
Date: Wed, 14 May 2008 05:10:40 PDT

Hi,

I get this message while several clients are accessing a MDB which uses other EJBs on v2ur1:

[#|2008-05-14T11:32:13.567+0000|INFO|sun-appserver9.1|javax.enterprise.system.stream.out|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;|
DXAR:start():Warning:Received diff Xid for open txnId:switching transactionId:
DXAR Xid=73616D73322E73612E6C6F63616C2C7365727665722C50333730302C0249020000F1AE14E673616D73322E73612E6C6F63616C2C7365727665722C5033373030
DXAR TXid=6833959440353080576
got Xid=null
got TXid=6833959440353099520|#]

[#|2008-05-14T11:32:13.653+0000|SEVERE|sun-appserver9.1|javax.resourceadapter.mqjmsra.outbound.connection|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;_RequestID=c433753b-e0c4-4556-961f-fbc56fa94ffb;|commitTransaction
 (XA) on JMSService:jmsdirect failed for connectionId:6833959440062014464 and onePhase:false due to unkown JMSService server error.|#]

[#|2008-05-14T11:32:13.653+0000|SEVERE|sun-appserver9.1|javax.enterprise.system.core.transaction|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe;commit
;_RequestID=c433753b-e0c4-4556-961f-fbc56fa94ffb;|JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit].|#]

[#|2008-05-14T11:32:13.709+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;sams-ear:HandheldMDB;javax.ejb.EJBException: Unable to complete container-ma
naged transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [c
ommit]. vmcid: 0x0 minor code: 0 completed: No;|MDB00037: [sams-ear:HandheldMDB]: Ausnahmefehler beim Aufruf der meldungsgesteuerten Bean: [javax.ejb.EJBException: Unable to complete container-managed transaction.; neste
d exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 mino
r code: 0 completed: No]|#]

[#|2008-05-14T11:32:13.709+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=380;_ThreadName=p: thread-pool-1; w: 480;|javax.ejb.EJBException
javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor
 code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 completed: No
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 compl
eted: No
        at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
        at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
        at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
        at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
        at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
        at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
        at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
        at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
        at $Proxy158.afterDelivery(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Ausnahmefehler [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor
 code: 0 completed: Maybe] bei Vorgang mit Ressource [commit]. vmcid: 0x0 minor code: 0 completed: No
        at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3803)
        at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
        at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
        at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
        at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
        at $Proxy158.afterDelivery(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
|#]





This seems to always come before a SQL-UPDATE. All subsequence requests to the MDB cause this exception to happen:

[#|2008-05-14T11:32:15.331+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=377;_ThreadName=p: thread-pool-1; w: 479;HandheldManagerBean;|EJB5018: Ausnahmefehler während eines EJB-Aufrufs auf [Hand
heldManagerBean]|#]

[#|2008-05-14T11:32:15.331+0000|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=377;_ThreadName=p: thread-pool-1; w: 479;|
javax.ejb.EJBException: nested exception is: java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
        at com.sun.ejb.containers.BaseContainer.useClientTx(BaseContainer.java:3467)
        at com.sun.ejb.containers.BaseContainer.preInvokeTx(BaseContainer.java:3274)
        at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1244)
        at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:202)
        at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
        at $Proxy145.setPickList(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:233)
        at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
        at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
        at de.scooterattack.sams.ejb.__HandheldManager_Remote_DynamicStub.setPickList(de/scooterattack/sams/ejb/__HandheldManager_Remote_DynamicStub.java)
        at de.scooterattack.sams.ejb._HandheldManager_Wrapper.setPickList(de/scooterattack/sams/ejb/_HandheldManager_Wrapper.java)
        at de.scooterattack.sams.ejb.mdb.HandheldMDB.savoyeBoxScanned(HandheldMDB.java:363)
        at de.scooterattack.sams.ejb.mdb.HandheldMDB.handleHandheldMessage(HandheldMDB.java:204)
        at de.scooterattack.sams.ejb.mdb.HandheldMDB.onMessage(HandheldMDB.java:145)
        at sun.reflect.GeneratedMethodAccessor775.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
        at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
        at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179)
        at $Proxy158.onMessage(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
javax.ejb.EJBException: nested exception is: java.lang.IllegalStateException: EJB is already associated with an incomplete transaction
        at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1266)
        at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:202)
        at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:77)
        at $Proxy145.setPickList(Unknown Source)
[...same as above...]




I googled and searched the forum for these error messages, but found nothing. I guess that I did something wrong with respect to transactions, but basically everything is container managed. I even tried a

        em.lock(result, LockModeType.WRITE);

on the instance I believe is the victim, but no difference. Is there any way to get more information about which objects/classes/ejbs are involved in this switching of the transaction? Or any other clues how to debug/fix this?
[Message sent by forum member 'kurti' (kurti)]

http://forums.java.net/jive/thread.jspa?messageID=274259