Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Is there any deadlock bug fix for TopLink Essential?(We come across a deadlock issue when using GlassFish 2.1 JPA)
Is there any deadlock bug fix for TopLink Essential? [message #656292] Thu, 24 February 2011 23:35 Go to next message
Jason Wang is currently offline Jason Wang
Messages: 2
Registered: February 2011
Junior Member
We find a deadlock in the server log when using GlassFish 2.1 JPA. As we know, GlassFish 2.1 uses TopLink Essential as the JPA implementation. We find there are some bug fixes for EclipseLink deadlock issues. We would like to know if this is a bug in TopLink Essential. If so, is there is any bug fix for TopLink Essential?

Thanks.

The stack trace about the thread deadlock is:

"httpWorkerThread-28090-0" daemon prio=6 tid=0x05ac2c18 nid=0x2898 in Object.wait() [0x6583d000..0x6583faa0]
at java.lang.Object.wait(Native Method)
- waiting on <0x4e480fe0> (a oracle.toplink.essentials.internal.helper.ConcurrencyManager )
at java.lang.Object.wait(Object.java:474)
at oracle.toplink.essentials.internal.helper.WriteLockManager.a cquireLocksForClone(WriteLockManager.java:99)
- locked <0x4e480fe0> (a oracle.toplink.essentials.internal.helper.ConcurrencyManager )
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.c loneAndRegisterObject(UnitOfWorkImpl.java:669)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkIdenti tyMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdenti tyMapAccessor.java:167)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkIdenti tyMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccess or.java:105)
at oracle.toplink.essentials.internal.sessions.IdentityMapAcces sor.getFromIdentityMap(IdentityMapAccessor.java:310)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.r egisterExistingObject(UnitOfWorkImpl.java:3091)
- locked <0x4e423f80> (a oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableW riteUnitOfWork)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.r egisterExistingObject(UnitOfWorkImpl.java:3053)
- locked <0x4e423f80> (a oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableW riteUnitOfWork)
at oracle.toplink.essentials.queryframework.ObjectBuildingQuery .registerIndividualResult(ObjectBuildingQuery.java:339)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .buildWorkingCopyCloneNormally(ObjectBuilder.java:456)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .buildObjectInUnitOfWork(ObjectBuilder.java:421)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .buildObject(ObjectBuilder.java:387)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuer y.buildObject(ObjectLevelReadQuery.java:386)
at oracle.toplink.essentials.queryframework.ObjectBuildingQuery .registerIndividualResult(ObjectBuildingQuery.java:323)
at oracle.toplink.essentials.queryframework.ReadAllQuery.regist erResultInUnitOfWork(ReadAllQuery.java:511)
at oracle.toplink.essentials.queryframework.ReadAllQuery.execut eObjectLevelReadQuery(ReadAllQuery.java:346)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuer y.executeDatabaseQuery(ObjectLevelReadQuery.java:724)
at oracle.toplink.essentials.queryframework.DatabaseQuery.execu te(DatabaseQuery.java:628)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuer y.execute(ObjectLevelReadQuery.java:692)
at oracle.toplink.essentials.queryframework.ObjectLevelReadQuer y.executeInUnitOfWork(ObjectLevelReadQuery.java:746)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.i nternalExecuteQuery(UnitOfWorkImpl.java:2248)
at oracle.toplink.essentials.internal.sessions.AbstractSession. executeQuery(AbstractSession.java:952)
at oracle.toplink.essentials.internal.indirection.QueryBasedVal ueHolder.instantiate(QueryBasedValueHolder.java:101)
at oracle.toplink.essentials.internal.indirection.QueryBasedVal ueHolder.instantiate(QueryBasedValueHolder.java:91)
at oracle.toplink.essentials.internal.indirection.DatabaseValue Holder.getValue(DatabaseValueHolder.java:105)
- locked <0x4e423f60> (a oracle.toplink.essentials.internal.indirection.QueryBasedVal ueHolder)
at oracle.toplink.essentials.indirection.IndirectList.buildDele gate(IndirectList.java:208)
at oracle.toplink.essentials.indirection.IndirectList.getDelega te(IndirectList.java:332)
- locked <0x4e423e38> (a oracle.toplink.essentials.indirection.IndirectList)
at oracle.toplink.essentials.indirection.IndirectList.size(Indi rectList.java:663)
at oracle.toplink.essentials.internal.queryframework.Collection ContainerPolicy.sizeFor(CollectionContainerPolicy.java:199)
at oracle.toplink.essentials.internal.indirection.TransparentIn directionPolicy.getRealAttributeValueFromObject(TransparentI ndirectionPolicy.java:267)
at oracle.toplink.essentials.mappings.ForeignReferenceMapping.g etRealAttributeValueFromObject(ForeignReferenceMapping.java: 375)
at oracle.toplink.essentials.mappings.CollectionMapping.getReal AttributeValueFromObject(CollectionMapping.java:571)
at oracle.toplink.essentials.mappings.CollectionMapping.getReal CollectionAttributeValueFromObject(CollectionMapping.java:58 6)
at oracle.toplink.essentials.mappings.CollectionMapping.mergeIn toObject(CollectionMapping.java:752)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2152)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2134)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChangesOfWorkingCopyIntoOriginal(MergeManager.java:518)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChanges(MergeManager.java:262)
at oracle.toplink.essentials.mappings.ObjectReferenceMapping.me rgeIntoObject(ObjectReferenceMapping.java:373)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2152)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2134)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChangesOfWorkingCopyIntoOriginal(MergeManager.java:504)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChanges(MergeManager.java:262)
at oracle.toplink.essentials.mappings.CollectionMapping.mergeIn toObject(CollectionMapping.java:778)
- locked <0x36926880> (a java.util.ArrayList)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2152)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeIntoObject(ObjectBuilder.java:2134)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChangesOfWorkingCopyIntoOriginal(MergeManager.java:512)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChanges(MergeManager.java:262)
at oracle.toplink.essentials.mappings.ObjectReferenceMapping.me rgeChangesIntoObject(ObjectReferenceMapping.java:318)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeChangesIntoObject(ObjectBuilder.java:2114)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChangesOfWorkingCopyIntoOriginal(MergeManager.java:528)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChanges(MergeManager.java:262)
at oracle.toplink.essentials.mappings.ObjectReferenceMapping.me rgeChangesIntoObject(ObjectReferenceMapping.java:318)
at oracle.toplink.essentials.internal.descriptors.ObjectBuilder .mergeChangesIntoObject(ObjectBuilder.java:2114)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChangesOfWorkingCopyIntoOriginal(MergeManager.java:528)
at oracle.toplink.essentials.internal.sessions.MergeManager.mer geChanges(MergeManager.java:262)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.m ergeChangesIntoParent(UnitOfWorkImpl.java:2541)
at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableW riteUnitOfWork.mergeChangesIntoParent(RepeatableWriteUnitOfW ork.java:303)
at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.m ergeClonesAfterCompletion(UnitOfWorkImpl.java:2656)
at oracle.toplink.essentials.transaction.AbstractSynchronizatio nListener.afterCompletion(AbstractSynchronizationListener.ja va:173)
at oracle.toplink.essentials.transaction.JTASynchronizationList ener.afterCompletion(JTASynchronizationListener.java:102)
at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EE Transaction.java:502)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.c ommit(J2EETransactionManagerOpt.java:387)
at com.sun.enterprise.distributedtx.UserTransactionImpl.commit( UserTransactionImpl.java:197)
at org.jboss.seam.transaction.UTTransaction.commit(UTTransactio n.java:52)
at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPh aseListener.java:603)
at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfter Phase(SeamPhaseListener.java:341)
at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamP haseListener.java:241)
at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseLis tener.java:192)
at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:17 5)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl. java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:26 5)
at org.apache.catalina.core.ApplicationFilterChain.servletServi ce(ApplicationFilterChain.java:427)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:333)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:214)
at net.poweregg.faces.filter.MultipartFilter.doFilter(Multipart Filter.java:115)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:214)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:83)
at org.jboss.seam.web.CharacterEncodingFilter.doFilter(Characte rEncodingFilter.java:42)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter. java:80)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter. java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.ja va:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter. java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.ja va:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java :58)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(S eamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:1 58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:214)
at net.poweregg.faces.filter.CacheControlFilter.doFilter(CacheC ontrolFilter.java:84)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:313)
at org.apache.catalina.core.StandardContextValve.invokeInternal (StandardContextValve.java:287)
at org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:218)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:9 4)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invo ke(PESessionLockingStandardPipeline.java:98)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:222)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:593)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase. java:1096)
at org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:166)
at com.fujitsu.interstage.javaee.catalina.core.ISStandardEngine Valve.invoke(ISStandardEngineValve.java:99)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardP ipeline.java:593)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPip eline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase. java:1096)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapte r.java:291)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTas k.invokeAdapter(DefaultProcessorTask.java:648)
at com.sun.enterprise.web.connector.grizzly.blocking.ProcessorB lockingTask.doProcess(ProcessorBlockingTask.java:221)
at com.sun.enterprise.web.connector.grizzly.blocking.ProcessorB lockingTask.process(ProcessorBlockingTask.java:186)
at com.sun.enterprise.web.connector.grizzly.blocking.ProcessorB lockingTask.doTask(ProcessorBlockingTask.java:140)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBa se.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.ru n(WorkerThreadImpl.java:116)

[Updated on: Thu, 24 February 2011 23:58]

Report message to a moderator

Re: Is there any deadlock bug fix for TopLink Essential? [message #657075 is a reply to message #656292] Tue, 01 March 2011 14:25 Go to previous message
James Sutherland is currently offline James Sutherland
Messages: 1939
Registered: July 2009
Location: Ottawa, Canada
Senior Member

Ensure that you are using the latest TopLink Essentials patch. There are some issues that have only been fixed on EclipseLink, so upgrading to the latest release of EclipseLink may resolve your issue.

Otherwise, you could try disabling the shared cache (shared=false), or changing your cacheTransactionIsolation (see DatabaseLogin) or usage of deferred locks (through ensuring that all relationships are lazy).


James : Wiki : Book : Blog : Twitter
Previous Topic:Expression and ws qurey builder
Next Topic:SequenceGenerator
Goto Forum:
  


Current Time: Thu Oct 23 00:50:25 GMT 2014

Powered by FUDForum. Page generated in 0.02350 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software