My Oracle Support Banner

ADF 12.2.1.4: Thread Stuck Waiting for java.util.concurrent.locks.ReentrantLock$NonfairSync (Doc ID 2830553.1)

Last updated on JANUARY 06, 2022

Applies to:

Oracle JDeveloper - Version 12.2.1.4.0 and later
Information in this document applies to any platform.

Symptoms

In WebLogic Server 12.2.1.4.0, where an ADF application is running, intermittently, a stuck thread is observed.  This seems to occur during high-load in production environment.

The stuck thread shows the following thread holding the lock:

"[ACTIVE] ExecuteThread: '45' for queue: 'weblogic.kernel.Default
(self-tuning)'" #167 daemon prio=5 os_prio=0 tid=0x00007ff355ed5000
nid=0x546d in Object.wait() [0x00007ff2b96d9000]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:328)
- locked <0x0000000746c84e00> (a weblogic.work.ExecuteThread)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:388)

   Locked ownable synchronizers:
- <0x00000007962db5a8> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)

"[STUCK] ExecuteThread: '44' for queue: 'weblogic.kernel.Default
(self-tuning)'" #166 daemon prio=1 os_prio=0 tid=0x00007ff355ed3800
nid=0x546c waiting on condition [0x00007ff2b97d8000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for  <0x00000007962db5a8> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
at oracle.adf.model.dcframe.DataControlFrameImpl.lock(DataControlFrameImpl.java:565)
at oracle.adf.model.BindingContext.setCurrentFrame(BindingContext.java:3049)
at oracle.adf.model.BindingContext.getCurrentFrame(BindingContext.java:2955)
at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:205)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:196)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:591)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain$1.call(TrinidadFilterImpl.java:587)


Workaround
A temporary workaround is to restart the managed server.  But it is only a matter of time before it hangs again.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.