PQ74639; 4.0.7: Hanging or Lost Threads or wait on
writeLock()
Downloadable files
Abstract
When using StatefulSessionBeans to communicate with EJB,
the ORB communication with the EJB halts. The JVM™ must be stopped and
restarted to get communication resumed.
Download Description
PQ74639 resolves the following problem:
USERS AFFECTED:
WebSphere Application Server Developers using the Object Request Broker
(ORB) for communications.
PROBLEM DESCRIPTION:
ORB worker threads stay around and do not go away. Sometimes they seem to
hang.
This problem can affect the AdminServer or the AppServer, since each of
these jvm processes uses ORB communication. The external symptom is that
the AppServer or AdminServer jvm process appears to be hung and does not
complete ORB communication. If it is the AdminServer process that is
experiencing the symptom, the AdminConsole does not start and wscp will
not be able to connect to the AdminServer.
The internal symptoms are that the Java™ thread dump will show two or more
threads blocked in ORB calls. What is meant by blocked is that the ORB
call does not finish. The threads that are typically noticed having this
problem are ORB.thread.pool threads. The calls that are usually seen are:
IIOPConnection.writeLock
IIOPConnection.send
Here is an example of the writeLock:
"ORB.thread.pool:80" (TID:0x3187FBE8, sys_thread_t:0x3CBBBF18, state:CW, native ID:0x614C) prio=5
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java(Compiled Code))
at com.ibm.rmi.util.Condition.wait(Condition.java(Compiled Code))
at com.ibm.CORBA.iiop.IIOPConnection.writeLock(IIOPConnection.java(Compiled Code))
at com.ibm.CORBA.iiop.IIOPConnection.writeLock(IIOPConnection.java:1381)
The hang in send can also be caused if the Orb timeout is infinite. It is
also advisable to apply PQ70054 if it is not already included in the
WebSphere Application Server version.
Below is an example of a thread with the problem in send:
"ORB.thread.pool:2" daemon prio=5 tid=0x7eeb20 nid=0x16 waiting on monitor 0xecd80000..0xecd819e0
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at com.ibm.rmi.util.Condition.wait(Condition.java:32)
at com.ibm.CORBA.iiop.IIOPConnection.send(IIOPConnection.java:1501)
at com.ibm.CORBA.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:522)
RECOMMENDATION:
When WriteLock() receives the state of ABORT, the lock is not released
correctly, causing the hanging symptom.
Prerequisites
NONE
Installation instructions
Please review the readme.txt for detailed installation
instructions.