PQ68468; 4.0.3: CORBA.MARSHAL error causes some client EJB threads to fail
 Downloadable files
 
Abstract
Intermittent deserialization failure on returning interface.
 
Download Description
PQ68468 will resolve the following problem:

USERS AFFECTED:
All WebSphere® Application Server users of multi-threaded EJB™ client applications

PROBLEM DESCRIPTION:
Some of the threads in a multi-thread EJB client are failing with CORBA.Marshaling exceptions. Some of the client threads running inside a multi-threaded EJB client application may produce the following error:

org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge exceptions.

Example of exception stack:

com.ibm.CORBA.iiop.ClientDelegate invoke(CORBA.Object, OutputStream)
org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge
at com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java

PROBLEM CONCLUSION:
The problem is the interaction of the methods isAbstractInterface() and computeAbstract() in com.ibm.rmi.io.ObjectStreamClass. There is a race condition. The computeAbstract() method is synchronized, while the isAbstractInterface() method) is not. isAbstractInterface() acts as a control method optimizing the call to the compute method. This is done using a local variable to decide whether to do the computation which is set after the first invocation in order to prevent performing the computation again. To resolve the problem, the synchronized block was moved to an outer scope to avoid the race condition. It is possible that a first thread enters the synchronized compute method and before it has set the result variable, another thread calls into the isAbstractInterface() which then, noticing the control variable is set it does not invoke the synchronized compute method, but simply returns the result variable (which has not yet been set), the default for which is ' true'. In other words, there is a 50% likelihood that this is the correct result.
 
Prerequisites
None
 
 
Installation instructions
Please review the readme.txt for detailed installation instructions.
 
URL LANGUAGE SIZE(Bytes)
Readme US English 2455
 
Download package
What is DD?
DOWNLOAD RELEASE DATE LANGUAGE SIZE(Bytes) Download Options
PQ68468 11/22/2002 US English 1067692 FTP DD
 
Technical support
1-800-IBM-SERV (U.S. calls only)
 
Problems (APARs) fixed
PQ68468
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Object Request Broker (ORB)
Operating system(s): HP-UX
Software version: 4.0.3
Software edition:
Reference #: 4004597
IBM Group: Software Group
Modified date: Aug 30, 2004