Stuck Threads on Oracle.adfinternal.controller.state.ControllerState.touchRootViewPort in UIM Logs.

(Doc ID 2407426.1)

Last updated on JUNE 06, 2018

Applies to:

Oracle Communications Unified Inventory Management - Version 7.3.4.0.0 and later
Information in this document applies to any platform.

Goal

Users are facing stuck threads on oracle.adfinternal.controller.state.ControllerState.touchRootViewPort in UIM logs, when user is accessing the Inventory Login Screen.

And this leading to stuck threads in UIM application:

Stuck threads in Logs:

"[STUCK] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007fe0f85b5000 nid=0x49d1 waiting on condition [0x00007fe1159bf000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000509a6d5d0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at oracle.adf.model.dcframe.DataControlFrameImpl.lock(DataControlFrameImpl.java:510)
at oracle.adf.model.BindingContext.setCurrentFrame(BindingContext.java:2748)
at oracle.adf.model.BindingContext.setCurrentDataControlFrame(BindingContext.java:2616)
at oracle.adfinternal.controller.util.model.DCFrameImpl.makeCurrent(DCFrameImpl.java:156)
at oracle.adfinternal.controller.state.ViewPortContextImpl.makeCurrent(ViewPortContextImpl.java:1156)
at oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(RequestState.java:182)
at oracle.adfinternal.controller.state.ControllerState.setCurrentViewPort(ControllerState.java:1458)
..
at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(ControllerState.java:344)
at oracle.adfinternal.controller.application.SyncNavigationStateListener.beforePhase(SyncNavigationStateListener.java:264)
at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:557)

 

 Deadlock in the thread dumps:

Found one Java-level deadlock:
=============================
"[STUCK] ExecuteThread: '115' for queue: 'weblogic.kernel.Default (self-tuning)'":
waiting for ownable synchronizer 0x00000004e8bad848, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "[STUCK] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tuning)'"
"[STUCK] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tuning)'":
waiting to lock monitor 0x00007fcc581f41f8 (object 0x00000004e8badb28, a java.util.concurrent.locks.ReentrantLock),
which is held by "[STUCK] ExecuteThread: '98' for queue: 'weblogic.kernel.Default (self-tuning)'"
"[STUCK] ExecuteThread: '98' for queue: 'weblogic.kernel.Default (self-tuning)'":
waiting for ownable synchronizer 0x00000004e8bad848, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "[STUCK] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tuning)'"

Deadlock in second occurrence :


"[STUCK] ExecuteThread: '90' for queue: 'weblogic.kernel.Default (self-tuning)'":
waiting for ownable synchronizer 0x000000046099af08, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "[STUCK] ExecuteThread: '86' for queue: 'weblogic.kernel.Default (self-tuning)'"
"[STUCK] ExecuteThread: '86' for queue: 'weblogic.kernel.Default (self-tuning)'":
waiting to lock monitor 0x00007f59e4006a28 (object 0x0000000460a1db88, a java.util.Collections$SynchronizedMap),
which is held by "[STUCK] ExecuteThread: '90' for queue: 'weblogic.kernel.Default (self-tuning)'"

 

Solution

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