Title: RE: HELP: Cannot understand DeadLock

We have encountered database deadlocks using CMT and CMP and a SINGLE transaction, where for some reason some of the database calls generated by the CMP code get called in different process IDs on the database (even though they all occur on the same Java thread and are supposed to all occur in the same transaction).  Most of our code does not deadlock, but certain sequences of code consistently give rise to these deadlocks. I have logged this as a bug. 


-----Original Message-----
From: Simon Harris [mailto:[EMAIL PROTECTED]]
Sent: 15 September 2000 15:17
To: Orion-Interest
Subject: Re: HELP: Cannot understand DeadLock


I would have thought the container should manage this. Anyway it is an
intermittent problem. Ie doesn't always happen. Seems to ocurr under heavy
(concurrent) load.

Simon.
----- Original Message -----
From: "Ishpal" <[EMAIL PROTECTED]>
To: "Orion-Interest" <[EMAIL PROTECTED]>
Sent: Friday, September 15, 2000 8:18 PM
Subject: Re: HELP: Cannot understand DeadLock


> Hi,
>
> May be u r not committing the changes to the database...
> i.e. ur code might be missing connection.commit() before u close the
> connection to the database....
>
> -- may be this helps..
>
> bye,
> Ishpal
>
> > Simon Harris wrote:
> >
> > Here is a trace from the log file. I don't understand how there can be
> > an error in ejbPassivate() when I have no code in this method, and how
> > do I end up with a deadlock wherby thread 6 is waiting for....thread
> > 6!???
> >
> > Any clues anyone?
> >
> > 15/09/00 10:40 Error in bean cats.ejb.Change: Error loading state
> > javax.ejb.NoSuchEntityException: Load failed for Change 1
> >  at cats.change.ChangeDAO.load(ChangeDAO.java:197)
> >  at cats.change.ChangeEJB.ejbLoad(ChangeEJB.java:1073)
> >  at
> >
IChange_EntityBeanWrapper6.loadState(IChange_EntityBeanWrapper6.java:8734)
> >  at com.evermind.server.ejb.EntityEJBObject.endTransaction(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.am6(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.commit(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.end(JAX)
> >  at
> >
IGateway_StatelessSessionBeanWrapper10.handleMessage(IGateway_StatelessSessi
onBeanWrapper10.java:184)
> >  at java.lang.reflect.Method.invoke(Native Method)
> >  at com.evermind.server.rmi.bd.run(JAX)
> >  at com.evermind.server.rmi.bb.hw(JAX)
> >  at com.evermind.server.rmi.bb.run(JAX)
> >  at com.evermind.util.f.run(JAX)
> > 15/09/00 10:40 Error in bean cats.ejb.Change: Error in ejbPassivate
> > com.evermind.server.DeadlockException: Deadlock detected: thread 6 is
> > waiting for resource entity Change 1 held by thread 6
> >  at com.evermind.server.ejb.AbstractEJBObject.startCall(JAX)
> >  at com.evermind.server.ejb.EntityEJBObject.removeFromCache(JAX)
> >  at com.evermind.server.ejb.EntityEJBObject.endTransaction(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.am6(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.commit(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.end(JAX)
> >  at
> >
IGateway_StatelessSessionBeanWrapper10.handleMessage(IGateway_StatelessSessi
onBeanWrapper10.java:184)
> >  at java.lang.reflect.Method.invoke(Native Method)
> >  at com.evermind.server.rmi.bd.run(JAX)
> >  at com.evermind.server.rmi.bb.hw(JAX)
> >  at com.evermind.server.rmi.bb.run(JAX)
> >  at com.evermind.util.f.run(JAX)
> > 15/09/00 10:40 Error in bean cats.ejb.Change: Error while delisting
> > bean from TX
> > com.evermind.transaction.MarshallingXAException
> >  at com.evermind.server.ejb.EntityEJBObject.endTransaction(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.am6(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.commit(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.end(JAX)
> >  at
> >
IGateway_StatelessSessionBeanWrapper10.handleMessage(IGateway_StatelessSessi
onBeanWrapper10.java:184)
> >  at java.lang.reflect.Method.invoke(Native Method)
> >  at com.evermind.server.rmi.bd.run(JAX)
> >  at com.evermind.server.rmi.bb.hw(JAX)
> >  at com.evermind.server.rmi.bb.run(JAX)
> >  at com.evermind.util.f.run(JAX)
> > Nested exception is:
> > javax.ejb.NoSuchEntityException: Load failed for Change 1
> >  at cats.change.ChangeDAO.load(ChangeDAO.java:197)
> >  at cats.change.ChangeEJB.ejbLoad(ChangeEJB.java:1073)
> >  at
> >
IChange_EntityBeanWrapper6.loadState(IChange_EntityBeanWrapper6.java:8734)
> >  at com.evermind.server.ejb.EntityEJBObject.endTransaction(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.am6(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.commit(JAX)
> >  at com.evermind.server.ApplicationServerTransaction.end(JAX)
> >  at
> >
IGateway_StatelessSessionBeanWrapper10.handleMessage(IGateway_StatelessSessi
onBeanWrapper10.java:184)
> >  at java.lang.reflect.Method.invoke(Native Method)
> >  at com.evermind.server.rmi.bd.run(JAX)
> >  at com.evermind.server.rmi.bb.hw(JAX)
> >  at com.evermind.server.rmi.bb.run(JAX)
> >  at com.evermind.util.f.run(JAX)
>
>

Reply via email to