Deadlock Found on oracle.jbo.JboSyncLock Object Causing Stuck Threads in Human Workflow (Doc ID 1627779.1)

Last updated on NOVEMBER 15, 2016

Applies to:

Oracle Business Process Management Suite - Version 11.1.1.6.0 to 11.1.1.7.0 [Release 11gR1]
Information in this document applies to any platform.

Symptoms

Randomly the server will experience a deadlock causing the following stuck threads:

---------------Found one Java-level deadlock:
=============================
"[STUCK] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'":
 waiting to lock monitor 0x0000000057659d98 (object 0x00002aab7f2058a8, a oracle.jbo.JboSyncLock),
 which is held by "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'"
"[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'":
 waiting to lock monitor 0x00000000596d7ab0 (object 0x00002aab7fb9f6d0, a oracle.adf.model.adapter.AdapterDCService),
 which is held by "[STUCK] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'"

Java stack information for the threads listed above:
===================================================
"[STUCK] ExecuteThread: '30' for queue: 'weblogic.kernel.Default (self-tuning)'":
at oracle.jbo.server.ViewRowSetIteratorImpl.getCurrentRow(ViewRowSetIteratorImpl.java:910)
- waiting to lock <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetImpl.getCurrentRow(ViewRowSetImpl.java:3447)
at oracle.jbo.server.ViewObjectImpl.getCurrentRow(ViewObjectImpl.java:10877)
at oracle.adf.model.binding.DCIteratorBinding.internalGetCurrentRowInBinding(DCIteratorBinding.java:2269)
- locked <0x00002aab7fb9f6d0> (a oracle.adf.model.adapter.AdapterDCService)
at oracle.jbo.uicli.binding.JUIteratorBinding.internalGetCurrentRowInBinding(JUIteratorBinding.java:500)
at oracle.adf.model.binding.DCDataControl.internalGetCurrentRow(DCDataControl.java:733)
at oracle.adf.model.bean.DCBeanDataControl.findOrCreateAccessorRowSetIterator(DCBeanDataControl.java:1408)
at oracle.jbo.uicli.binding.MyIteratorBinding.initSourceRSI(JUAccessorIteratorDef.java:843)
at oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1672)
at oracle.adf.model.binding.DCIteratorBinding.internalGetRowSetIterator(DCIteratorBinding.java:1645)
- locked <0x00002aab7fb9f6d0> (a oracle.adf.model.adapter.AdapterDCService)
at oracle.adf.model.binding.DCIteratorBinding.refresh(DCIteratorBinding.java:4395)
- locked <0x00002aab7f5047b8> (a oracle.jbo.uicli.binding.MyIteratorBinding)
at oracle.adf.model.binding.DCExecutableBinding.refreshIfNeeded(DCExecutableBinding.java:341)
at oracle.jbo.uicli.binding.JUCtrlHierNodeBinding.getChildren(JUCtrlHierNodeBinding.java:724)
at oracle.jbo.uicli.binding.JUCtrlHierBinding.getChildren(JUCtrlHierBinding.java:480)
at oracle.jbo.uicli.binding.JUCtrlHierBinding.internalGet(JUCtrlHierBinding.java:453)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.internalGet(FacesCtrlHierBinding.java:313)
at oracle.adf.model.binding.DCControlBinding.get(DCControlBinding.java:749)
at javax.el.MapELResolver.getValue(MapELResolver.java:196)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
at org.apache.myfaces.trinidad.component.FacesBeanWrapper.getProperty(FacesBeanWrapper.java:58)
at org.apache.myfaces.trinidad.component.UIXTable$RowKeyFacesBeanWrapper.getProperty(UIXTable.java:630)
at org.apache.myfaces.trinidad.component.UIXComponentBase.getProperty(UIXComponentBase.java:1194)
at org.apache.myfaces.trinidad.component.UIXIterator.getValue(UIXIterator.java:706)
at org.apache.myfaces.trinidad.component.UIXCollection.__flushCachedModel(UIXCollection.java:1417)
at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:176)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXShowDetail.processDecodes(UIXShowDetail.java:101)
at oracle.adf.view.rich.component.rich.layout.RichShowDetailHeader.processDecodes(RichShowDetailHeader.java:163)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:75)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:986)
at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:972)
at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:797)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1029)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:540)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1394)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:397)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.bpel.services.workflow.client.worklist.util.WorkflowFilter.doFilter(WorkflowFilter.java:248)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.bpel.services.workflow.client.worklist.util.DisableUrlSessionFilter.doFilter(DisableUrlSessionFilter.java:70)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

 

"[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'":
at oracle.adf.model.binding.DCIteratorBinding.iteratorClosed(DCIteratorBinding.java:1325)
- waiting to lock <0x00002aab7fb9f6d0> (a oracle.adf.model.adapter.AdapterDCService)
at oracle.jbo.common.RowSetHelper.fireMgmtIteratorClosed(RowSetHelper.java:300)
at oracle.jbo.server.ViewRowSetIteratorImpl.close(ViewRowSetIteratorImpl.java:339)
at oracle.jbo.server.ViewRowSetImpl.close(ViewRowSetImpl.java:948)
- locked <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetIteratorImpl.close(ViewRowSetIteratorImpl.java:333)
at oracle.jbo.server.ViewRowSetImpl.close(ViewRowSetImpl.java:948)
- locked <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetIteratorImpl.close(ViewRowSetIteratorImpl.java:333)
at oracle.jbo.server.ViewRowSetImpl.close(ViewRowSetImpl.java:948)
- locked <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetIteratorImpl.close(ViewRowSetIteratorImpl.java:333)
at oracle.jbo.server.ViewRowSetImpl.close(ViewRowSetImpl.java:948)
- locked <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetIteratorImpl.close(ViewRowSetIteratorImpl.java:333)
at oracle.jbo.server.ViewRowSetIteratorImpl.closeRowSetIterator(ViewRowSetIteratorImpl.java:363)
- locked <0x00002aab7f2058a8> (a oracle.jbo.JboSyncLock)
at oracle.jbo.server.ViewRowSetImpl.closeRowSetIterator(ViewRowSetImpl.java:1012)
at oracle.jbo.server.ViewObjectImpl.closeRowSetIterator(ViewObjectImpl.java:12861)
at oracle.adf.model.bean.DCBeanDataControl.closeRowSetIteratorsAndStructures(DCBeanDataControl.java:1209)
at oracle.adf.model.bean.DCBeanDataControl.closeRowSetIterators(DCBeanDataControl.java:1167)
at oracle.adf.model.bean.DCBeanDataControl.release(DCBeanDataControl.java:353)
- locked <0x00002aab7fb9f8e8> (a java.lang.Object)
at oracle.adf.model.bc4j.DCJboDataControl.resetState(DCJboDataControl.java:2205)
at oracle.adf.model.bean.DCBeanDataControl.resetState(DCBeanDataControl.java:778)
at oracle.adf.model.binding.DCDataControl.endRequest(DCDataControl.java:1636)
- locked <0x00002aab7fb9f8e8> (a java.lang.Object)
at oracle.adf.model.bc4j.DCJboDataControl.endRequest(DCJboDataControl.java:2124)
- locked <0x00002aab7fb9f8e8> (a java.lang.Object)
at oracle.adf.model.bean.DCBeanDataControl.endRequest(DCBeanDataControl.java:765)
- locked <0x00002aab7fb9f8e8> (a java.lang.Object)
at oracle.adf.model.dcframe.DataControlFrameImpl.endRequestInternal(DataControlFrameImpl.java:770)
at oracle.adf.model.dcframe.DataControlFrameImpl.endRequest(DataControlFrameImpl.java:642)
- locked <0x00002aab7f925f48> (a java.util.concurrent.locks.ReentrantLock)
at oracle.adf.model.dcframe.DataControlFrameImpl.release(DataControlFrameImpl.java:315)
at oracle.adf.model.BindingContext.resetState(BindingContext.java:637)
at oracle.adf.model.BindingContext.release(BindingContext.java:609)
- locked <0x00002aab7f4f5f38> (a java.util.concurrent.locks.ReentrantLock)
at oracle.adf.model.servlet.HttpBindingContext.valueUnbound(HttpBindingContext.java:77)
at weblogic.servlet.internal.session.SessionData.removeAttribute(SessionData.java:726)
at weblogic.servlet.internal.session.SessionData.removeAttribute(SessionData.java:708)
at weblogic.servlet.internal.session.SessionData.remove(SessionData.java:980)
- locked <0x00002aab7eed8290> (a java.lang.Object)
at weblogic.servlet.internal.session.MemorySessionContext.invalidateSession(MemorySessionContext.java:69)
at weblogic.servlet.internal.session.SessionData.invalidate(SessionData.java:869)
at weblogic.servlet.internal.session.SessionData.invalidate(SessionData.java:887)
at weblogic.servlet.internal.WebAppServletContext.invalidateSession(WebAppServletContext.java:3769)
at weblogic.servlet.security.ServletAuthentication.invalidateAll(ServletAuthentication.java:220)
at oracle.security.jps.wls.servlet.WlsServletAuthenticator.logout(WlsServletAuthenticator.java:40)
at oracle.security.jps.ee.servlet.ServletAuthenticationInternal.internelLogout(ServletAuthenticationInternal.java:73)
at oracle.security.jps.internal.api.servlet.ServletAuthentication.logout(ServletAuthentication.java:81)
at oracle.adf.share.security.providers.jps.JpsAuthenticationService.internalLogout(JpsAuthenticationService.java:180)
at oracle.adf.share.security.authentication.AuthenticationServlet.doNonSsoLogout(AuthenticationServlet.java:644)
at oracle.adf.share.security.authentication.AuthenticationServlet.doLogout(AuthenticationServlet.java:229)
at oracle.adf.share.security.authentication.AuthenticationServlet.processRequest(AuthenticationServlet.java:158)
at oracle.adf.share.security.authentication.AuthenticationServlet.doGet(AuthenticationServlet.java:123)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms