Professional Documents
Culture Documents
1. Scenario 1: when server is hang Position, i.e. that time server will not respond
to coming requests.
2. Scenario 2: While sever is taking more time to restart
3. Scenario 3: When we are getting exception like “java.lang.OutOfMemoryException”
4. Scenario 4: Process running out of File descriptors. Server cannot accept
further requests because sockets cannot be created
5. Scenario 5: Infinite Looping in the code
You can just click "Thread dumps" tab to see the analysis result. Samurai colors
idle threads in gray, blocked threds in red and running threds in green. There are
three result views and Samurai shows "Table view" by default. In many case you
are just interested in the table view and the sequence view. Use the table view to
decide which thread needs be inspected, the sequence view to understand the
thread's behavior. You should takecare especially threds always in red.
2. TDA Tool:
(Visit: https://tda.dev.java.net/)
Actions taken for Issue resolving
1. Classic Dead Locks : Look for the threads waiting for monitor entry
For Example:
"ExecuteThread: '95' for queue: 'default'" daemon prio=5 tid=0x411cf8 nid=0x6c waiting
for monitor entry [0xd0f80000..0xd0f819d8]
at weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java:766)
at weblogic.jdbc.common.internal.ConnectionEnv.destroy(ConnectionEnv.java:590)
Reason: The above thread would come out of wait () under two conditions
(Depending on application logic)
1) One of the thread available in the execute queue pool would call notify () on
this object when an instance is available. (If the wait () is indefinite).
This can cause the thread to hang forever if server never does a notify () to this
object.
2) If the timeout exceeds, the thread would throw an exception and back to
execute queue thread pool.