H
hopehope_123
Hi ,
I use oc4j components , sometimes the java process eats all the cpu
power and all web services returns error. During one of these times , i
get the full stack trace. The majority of the threads are i runnable
state , and the below threads are on waiting state.
How can i understand this stacek trace? Who waits who? Why does the
process consume all the cpu?
Kind Regards,
hope
"ApplicationServerThread-105" prio=5 tid=0x008a39e0 nid=0x79 in
Object.wait() [d77ff000..d77ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe7750ed8> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xe7750ed8> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"ApplicationServerThread-104" prio=5 tid=0x0084b100 nid=0x78 in
Object.wait() [d78ff000..d78ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe6a4b000> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xe6a4b000> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"ApplicationServerThread-102" prio=5 tid=0x005e3370 nid=0x76 in
Object.wait() [d7aff000..d7affc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xecbe2b78> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xecbe2b78> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"OracleTimeoutPollingThread" daemon prio=10 tid=0x00819888 nid=0x3d
waiting on condition [dadff000..dadffc30]
at java.lang.Thread.sleep(Native Method)
at
oracle.jdbc.driver.OracleTimeoutPollingThread.run(OracleTimeoutPollingThread.java:156)
"SocketTimeout" daemon prio=10 tid=0x0023ca38 nid=0x1c waiting on
condition [dceff000..dceffc30]
at java.lang.Thread.sleep(Native Method)
at HTTPClient.SocketTimeout.run(StreamDemultiplexor.java:1045)
"DestroyJavaVM" prio=5 tid=0x00036b48 nid=0x1 waiting on condition
[0..ffbfebe8]
"OC4J Monitor Thread" daemon prio=5 tid=0x006a2ff0 nid=0x12 in
Object.wait() [dd7ff000..dd7ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe3769430> (a java.lang.Object)
at
oracle.ons.NotificationQueue.internalDequeue(NotificationQueue.java:253)
- locked <0xe3769430> (a java.lang.Object)
at
oracle.ons.NotificationQueue.dequeue(NotificationQueue.java:226)
at oracle.ons.Subscriber.receive(Subscriber.java:136)
at
com.evermind.server.OC4JMonitorThread.run(OC4JMonitorThread.java:361)
at java.lang.Thread.run(Thread.java:534)
"Thread-5" daemon prio=5 tid=0x006a08f8 nid=0x11 in Object.wait()
[dd8ff000..dd8ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe3769518> (a java.lang.Object)
at java.lang.Object.wait(Object.java:429)
at
oracle.ons.NotificationQueue.internalDequeue(NotificationQueue.java:255)
- locked <0xe3769518> (a java.lang.Object)
at
oracle.ons.NotificationQueue.dequeue(NotificationQueue.java:215)
at oracle.ons.SenderThread.run(SenderThread.java:81)
"Thread-4" daemon prio=5 tid=0x006a1b78 nid=0x10 runnable
[dd9ff000..dd9ffc30]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at oracle.ons.InputBuffer.readMoreData(InputBuffer.java:274)
at oracle.ons.InputBuffer.getNextString(InputBuffer.java:224)
at oracle.ons.ReceiverThread.run(ReceiverThread.java:228)
"TaskManager" prio=5 tid=0x006a2518 nid=0xf waiting on condition
[ddaff000..ddaffc30]
at java.lang.Thread.sleep(Native Method)
at com.evermind.util.TaskManager.run(TaskManager.java:247)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
I use oc4j components , sometimes the java process eats all the cpu
power and all web services returns error. During one of these times , i
get the full stack trace. The majority of the threads are i runnable
state , and the below threads are on waiting state.
How can i understand this stacek trace? Who waits who? Why does the
process consume all the cpu?
Kind Regards,
hope
"ApplicationServerThread-105" prio=5 tid=0x008a39e0 nid=0x79 in
Object.wait() [d77ff000..d77ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe7750ed8> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xe7750ed8> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"ApplicationServerThread-104" prio=5 tid=0x0084b100 nid=0x78 in
Object.wait() [d78ff000..d78ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe6a4b000> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xe6a4b000> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"ApplicationServerThread-102" prio=5 tid=0x005e3370 nid=0x76 in
Object.wait() [d7aff000..d7affc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xecbe2b78> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
- locked <0xecbe2b78> (a
EDU.oswego.cs.dl.util.concurrent.LinkedNode)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:767)
at
com.evermind.util.ReleasableResourcePooledExecutor.myGetTask(ReleasableResourcePooledExecutor.java:151)
at
com.evermind.util.ReleasableResourcePooledExecutor.access$000(ReleasableResourcePooledExecutor.java:33)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:190)
at java.lang.Thread.run(Thread.java:534)
"OracleTimeoutPollingThread" daemon prio=10 tid=0x00819888 nid=0x3d
waiting on condition [dadff000..dadffc30]
at java.lang.Thread.sleep(Native Method)
at
oracle.jdbc.driver.OracleTimeoutPollingThread.run(OracleTimeoutPollingThread.java:156)
"SocketTimeout" daemon prio=10 tid=0x0023ca38 nid=0x1c waiting on
condition [dceff000..dceffc30]
at java.lang.Thread.sleep(Native Method)
at HTTPClient.SocketTimeout.run(StreamDemultiplexor.java:1045)
"DestroyJavaVM" prio=5 tid=0x00036b48 nid=0x1 waiting on condition
[0..ffbfebe8]
"OC4J Monitor Thread" daemon prio=5 tid=0x006a2ff0 nid=0x12 in
Object.wait() [dd7ff000..dd7ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe3769430> (a java.lang.Object)
at
oracle.ons.NotificationQueue.internalDequeue(NotificationQueue.java:253)
- locked <0xe3769430> (a java.lang.Object)
at
oracle.ons.NotificationQueue.dequeue(NotificationQueue.java:226)
at oracle.ons.Subscriber.receive(Subscriber.java:136)
at
com.evermind.server.OC4JMonitorThread.run(OC4JMonitorThread.java:361)
at java.lang.Thread.run(Thread.java:534)
"Thread-5" daemon prio=5 tid=0x006a08f8 nid=0x11 in Object.wait()
[dd8ff000..dd8ffc30]
at java.lang.Object.wait(Native Method)
- waiting on <0xe3769518> (a java.lang.Object)
at java.lang.Object.wait(Object.java:429)
at
oracle.ons.NotificationQueue.internalDequeue(NotificationQueue.java:255)
- locked <0xe3769518> (a java.lang.Object)
at
oracle.ons.NotificationQueue.dequeue(NotificationQueue.java:215)
at oracle.ons.SenderThread.run(SenderThread.java:81)
"Thread-4" daemon prio=5 tid=0x006a1b78 nid=0x10 runnable
[dd9ff000..dd9ffc30]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at oracle.ons.InputBuffer.readMoreData(InputBuffer.java:274)
at oracle.ons.InputBuffer.getNextString(InputBuffer.java:224)
at oracle.ons.ReceiverThread.run(ReceiverThread.java:228)
"TaskManager" prio=5 tid=0x006a2518 nid=0xf waiting on condition
[ddaff000..ddaffc30]
at java.lang.Thread.sleep(Native Method)
at com.evermind.util.TaskManager.run(TaskManager.java:247)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)