Support #1170

Avatar?id=1733&size=50

WLS Warning - ThreadPool Stuck

Added by Ahmad Hazri almost 13 years ago. Updated almost 13 years ago.

Status:Closed - End of life cycleStart date:September 29, 2011
Priority:NormalDue date:September 30, 2011
Assignee:Avatar?id=1733&size=14Ahmad Hazri % Done:

10%

Category:-Spent time:-
Target version:-

Description

Reported by Fauzan

WebLogic show Warning - ThreadPool Stuck

weblogic_warning.doc (224 KB) Ahmad Hazri , September 29, 2011 10:03

History

#1 Avatar?id=1733&size=24 Updated by Ahmad Hazri almost 13 years ago

  • Status changed from New - Begin Life Cycle to Development / Work In Progress
  • Assignee set to Ahmad Hazri

Getting the log and threadpool stuck from Vincent/Fauzan(MBB)

#2 Avatar?id=1733&size=24 Updated by Ahmad Hazri almost 13 years ago

#3 Avatar?id=1733&size=24 Updated by Ahmad Hazri almost 13 years ago

From the custody_1.log

####<Sep 15, 2011 3:22:24 AM MYT> <Error> <WebLogicServer> <ECDAppPRD01> <custody_1> <[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1316028144153> <BEA-000337> <[STUCK] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "606" seconds working on the request "weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@4a7b72", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
    java.net.SocketInputStream.socketRead0(Native Method)
    java.net.SocketInputStream.read(SocketInputStream.java:129)
    oracle.net.ns.Packet.receive(Packet.java:293)
    oracle.net.ns.DataPacket.receive(DataPacket.java:104)
    oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
    oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
    oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
    oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
    oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
    oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
    oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1136)
    oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1113)
    oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)
    oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    oracle.jdbc.driver.T4CTTIOtxse.doOTXSE(T4CTTIOtxse.java:163)
    oracle.jdbc.driver.T4CXAResource.doStart(T4CXAResource.java:185)
    oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:228)
    weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)
    weblogic.jdbc.common.internal.ConnectionEnv.testInternal(ConnectionEnv.java:849)
    weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:813)
    weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:541)
    weblogic.common.resourcepool.ResourcePoolImpl.testResource(ResourcePoolImpl.java:2198)
    weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1678)
    weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1588)
    weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1577)
    weblogic.common.resourcepool.ResourcePoolImpl.testUnusedResources(ResourcePoolImpl.java:2021)
    weblogic.common.resourcepool.ResourcePoolImpl.access$1800(ResourcePoolImpl.java:41)
    weblogic.common.resourcepool.ResourcePoolImpl$ResourcePoolMaintanenceTask.timerExpired(ResourcePoolImpl.java:2697)
    weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
>

From Thread Stack dump
"[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native

                java.net.SocketInputStream.socketRead0(Native Method)

                java.net.SocketInputStream.read(SocketInputStream.java:129)

                oracle.net.ns.Packet.receive(Packet.java:293)

                oracle.net.ns.DataPacket.receive(DataPacket.java:104)

                oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)

                oracle.net.ns.NetInputStream.read(NetInputStream.java:260)

                oracle.net.ns.NetInputStream.read(NetInputStream.java:185)

                oracle.net.ns.NetInputStream.read(NetInputStream.java:102)

                oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)

                oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)

                oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1136)

                oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1113)

                oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)

                oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)

                oracle.jdbc.driver.T4CTTIOtxse.doOTXSE(T4CTTIOtxse.java:163)

                oracle.jdbc.driver.T4CXAResource.doStart(T4CXAResource.java:185)

                oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:228)

                weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50)

                weblogic.jdbc.common.internal.ConnectionEnv.testInternal(ConnectionEnv.java:849)

                weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:813)

                weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:541)

                weblogic.common.resourcepool.ResourcePoolImpl.testResource(ResourcePoolImpl.java:2198)

                weblogic.common.resourcepool.ResourcePoolImpl.checkResource(ResourcePoolImpl.java:1678)

                weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1588)

                weblogic.common.resourcepool.ResourcePoolImpl.checkAndReturnResource(ResourcePoolImpl.java:1577)

                weblogic.common.resourcepool.ResourcePoolImpl.testUnusedResources(ResourcePoolImpl.java:2021)

                weblogic.common.resourcepool.ResourcePoolImpl.access$1800(ResourcePoolImpl.java:41)

                weblogic.common.resourcepool.ResourcePoolImpl$ResourcePoolMaintanenceTask.timerExpired(ResourcePoolImpl.java:2697)

                weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)

                weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)

                weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)

                weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

#4 Avatar?id=1733&size=24 Updated by Ahmad Hazri almost 13 years ago

  • % Done changed from 0 to 10

Reply from Oracle Support
------------------------

Hi Hazri,

It appears as though you have DB activity that is lasting longer than 10 minutes (which you can see because the JDBC driver is the source), which is what causes the thread to be labeled "STUCK".

It's likely that end-users will experience a timeout of some kind when you're running synchronous requests that take that long.

Could you please let us know what is the maximum time that an SQL query in your application take to finish its transaction.

If you can set the statement timeout keeping your long running query into consideration this should not been further.

Please set this and let us know the behavior.

Awaiting for your response.

Cheers,
Rohit

#5 Updated by Vincent Devethas almost 13 years ago

Hazri,

Is this talk completed or to monitor every time?

#6 Updated by Tan Lee Yong almost 13 years ago

  • Status changed from Development / Work In Progress to Closed - End of life cycle

Seem like this task is being ignored and no status update since a month ago. I assumed this issue is close. If happen again, please open under eCustody Support.

Also available in: Atom PDF