Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3402

Xnio stream closed after OptimisticLockException

    XMLWordPrintable

Details

    Description

      Sometimes (1 or 2 times a day) I get the following error, after which JBoss not accept remote connections to the EJB module and my application shutdown.

      18:24:47,114 ERROR [org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler] (pool-9-thread-7) Error invoking method public abstract java.util.Collection ejbserver.session.combat.CombatSession.endCombat(java.lang.Integer) on bean named CombatSessionBean for appname modulename EjbModule distinctname : javax.ejb.EJBTransactionRolledbackException: Transaction rolled back
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:115)
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:95)
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:232)
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropogatingInterceptor.processInvocation(EJBRemoteTransactionPropogatingInterceptor.java:80)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:57)
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
      at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:283)
      at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$200(MethodInvocationMessageHandler.java:61)
      at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:191)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_23]
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_23]
      at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_23]
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
      at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
      Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1174)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:119)
      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92)
      ... 26 more
      Caused by: javax.persistence.OptimisticLockException
      at org.hibernate.ejb.AbstractEntityManagerImpl.wrapStaleStateException(AbstractEntityManagerImpl.java:1382)
      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1303)
      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1284)
      at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1290)
      at org.hibernate.ejb.AbstractEntityManagerImpl$CallbackExceptionMapperImpl.mapManagedFlushFailure(AbstractEntityManagerImpl.java:1476)
      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:109)
      at org.hibernate.engine.transaction.synchronization.internal.RegisteredSynchronization.beforeCompletion(RegisteredSynchronization.java:53)
      at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:97)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:274)
      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:94)
      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:159)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1162)
      ... 29 more
      Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): ejbserver.jpa.entity.users.User#385952
      at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:2359)
      at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3010)
      at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2908)
      at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3237)
      at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:113)
      at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:273)
      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:265)
      at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:187)
      at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:323)
      at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:52)
      at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1081)
      at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:315)
      at org.hibernate.engine.transaction.synchronization.internal.SynchronizationCallbackCoordinatorImpl.beforeCompletion(SynchronizationCallbackCoordinatorImpl.java:104)
      ... 35 more

      18:24:47,117 ERROR [org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler] (pool-9-thread-7) Could not write method invocation failure for method public abstract java.util.Collection ejbserver.session.combat.CombatSession.endCombat(java.lang.Integer) on bean named CombatSessionBean for appname modulename EjbModule distinctname due to : java.io.IOException: Stream is closed
      at org.xnio.streams.BufferPipeOutputStream.closed(BufferPipeOutputStream.java:61) [xnio-api-3.0.0.CR7.jar:3.0.0.CR7]
      at org.xnio.streams.BufferPipeOutputStream.checkClosed(BufferPipeOutputStream.java:67) [xnio-api-3.0.0.CR7.jar:3.0.0.CR7]
      at org.xnio.streams.BufferPipeOutputStream.write(BufferPipeOutputStream.java:85) [xnio-api-3.0.0.CR7.jar:3.0.0.CR7]
      at org.jboss.remoting3.remote.OutboundMessage.write(OutboundMessage.java:161) [jboss-remoting-3.2.0.CR8.jar:3.2.0.CR8]
      at java.io.DataOutputStream.write(DataOutputStream.java:71) [:1.6.0_23]
      at org.jboss.as.ejb3.remote.protocol.versionone.AbstractMessageHandler$1.write(AbstractMessageHandler.java:183)
      at java.io.FilterOutputStream.write(FilterOutputStream.java:60) [:1.6.0_23]
      at java.io.FilterOutputStream.write(FilterOutputStream.java:108) [:1.6.0_23]
      at org.jboss.marshalling.SimpleDataOutput.shallowFlush(SimpleDataOutput.java:328) [jboss-marshalling-1.3.4.GA.jar:1.3.4.GA]
      at org.jboss.marshalling.river.RiverMarshaller.writeString(RiverMarshaller.java:1445)
      at org.jboss.marshalling.river.RiverMarshaller.writeNewSerializableClass(RiverMarshaller.java:1356)
      at org.jboss.marshalling.river.RiverMarshaller.writeSerializableClass(RiverMarshaller.java:1339)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:877)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1057)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1013)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:879)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1057)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1013)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:879)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1057)
      at org.jboss.marshalling.river.RiverObjectOutputStream.defaultWriteObject(RiverObjectOutputStream.java:159)
      at java.lang.Throwable.writeObject(Throwable.java:648) [:1.6.0_23]
      at sun.reflect.GeneratedMethodAccessor479.invoke(Unknown Source) [:1.6.0_23]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
      at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
      at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:173) [jboss-marshalling-1.3.4.GA.jar:1.3.4.GA]
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1001)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:879)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1057)
      at org.jboss.marshalling.river.RiverObjectOutputStream.defaultWriteObject(RiverObjectOutputStream.java:159)
      at java.lang.Throwable.writeObject(Throwable.java:648) [:1.6.0_23]
      at sun.reflect.GeneratedMethodAccessor479.invoke(Unknown Source) [:1.6.0_23]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_23]
      at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_23]
      at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:173) [jboss-marshalling-1.3.4.GA.jar:1.3.4.GA]
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1001)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:992)
      at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:879)
      at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:62) [jboss-marshalling-1.3.4.GA.jar:1.3.4.GA]
      at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:119) [jboss-marshalling-1.3.4.GA.jar:1.3.4.GA]
      at org.jboss.as.ejb3.remote.protocol.versionone.AbstractMessageHandler.writeException(AbstractMessageHandler.java:100)
      at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:195)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_23]
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_23]
      at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_23]
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_23]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_23]
      at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
      Caused by: an exception which occurred:
      in field friends
      in field entity
      in field cause
      in field cause
      in object javax.ejb.EJBTransactionRolledbackException@6e2b05ea

      Attachments

        1. server.log
          903 kB
        2. server.log
          230 kB

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            denis.pavlishin Denis Pavlishin (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: