PQ70286: REMOTEEXCEPTION WHEN ATTEMPTING TO CONNECT TO AN EJB OR WHEN TRYING TO LOAD A DELEGATE FOR AN UNCONNECTED STUB.

 Fixes are available

5.0.1: WebSphere Application Server Version 5.0 Fix Pack 1 (Version 5.0.1)
5.0.1: WebSphere Application Server Enterprise Edition Version 5.0 Fix Pack 1



APAR status
Closed as program error.

Error description
webapp is attempting to connect to an EJB and gets the
following exception:
4a6d31b4 SystemErr     R java.rmi.RemoteException: com.edocs.ser
  at com.ibm.rmi.javax.rmi.CORBA.StubDelegateImpl.connect(StubDe
  at javax.rmi.CORBA.Stub.connect(Stub.java(Inlined Compiled Cod
  at com.ibm.ejs.csi.HandleDelegateImpl.getConnected(HandleDeleg
  at com.ibm.ejs.csi.HandleDelegateImpl.readEJBObject(HandleDele
  at com.ibm.ws.ejb.portable.HandleImpl.readObject(HandleImpl.ja
  at java.lang.reflect.Method.invoke(Native Method)
Basically, the problem finally traced to the fact that the Stub
that was deserialized in readObject from HandleDelegateImpl was
never connected to the ORB (to get a delegate set) before a
narrow occured which reloaded the stub (further investigation
needs to take place on why the stub reload is required).
Local fix
One workaround is to cause the original stub to connect to the
ORB before issuing the narrow in the HandleDelegateImpl.
Here is this bit of code.
 // copy the delegate from the original to the copy.
try {
     ((ObjectImpl)newStub)._set_delegate(
     ((ObjectImpl)oldStub)._get_delegate());
    } catch (BAD_OPERATION ex) {
.
The fix was made in the base ORB, under SOV defect 58027.
ORB builds 0129b-efix1 and later contains that fix. The botp
defect that brought in 0129b-efix1 is 158037.5
Problem summary
****************************************************************
* USERS AFFECTED: Websphere Application Server Developers      *
*                 trying to connect to a EJB or to load a      *
*                 delegate for an unconnected Stub.            *
*                                                              *
****************************************************************
* PROBLEM DESCRIPTION: RemoteException when trying to connect  *
*                      to a EJB or to load a delegate for an   *
*                      unconnected Stub.                       *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
This can be reproduced by a testcase where the server gets a
stub, serializes it and then deserializes it and sends it to
the client. The client tries to connect to the stub and gets a
REMOTEEXCEPTION.
Problem conclusion
The problem was happening because we were not copying instance
data from old StubDelegateImpl to new StubDelegateImpl in the
case when stub is not connected.
The fix involves copying instance data from one
StubDelegateImpl to another if we have to reload an
unconnected stub using a new classloader.
Temporary fix Comments
APAR information
APAR number PQ70286
Reported component name WAS BASE 5.0
Reported component ID 5630A3600
Reported release 00A
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2003-01-27
Closed date 2003-05-22
Last modified date 2004-11-02

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
ORB          

Publications Referenced

Fix information

Applicable component levels
R003 PSY    UP
R00A PSY    UP
R00H PSY    UP
R00I PSY    UP
R00S PSY    UP
R00W PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 00A
Software edition:
Reference #: PQ70286
IBM Group: Software Group
Modified date: Nov 2, 2004