PQ77097: FROM C++ CLIENT (LITTLE ENDIAN), A CREATE() METHOD WAS INVOKED TO AN EJBHOME WHICH GOT OUTOFMEMORYERROR IN SERVANT REGION.

 A fix is available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
This apar address three related endian code problems:
Problem # 1
OutofMemory Error
Resolution:
When building an IOR, we converted the IOR to little endian,
but failed to mark the protocol information as being little
endian.
**************
Problem # 2.
The IOR in GIOP reply from Daemon was still aligned in
BigEndian which can't be consumed by the client which runs
in LittleEndian.
Resolution:
We found the IOR that was built to forward a request-to-Daemon
to a server is always big endian, even if the response we put
it in is little endian.
**************
Problem # 3
When a CORBA C++ client on Windows sends a GIOP request to
the location daemon, the daemon raises CORBA::MARSHAL
exception with minor code C9C20D03.
This problem occurrs consistently when you use the byte
order "Little Endian".
Resolution:
An enum is only taking up 1 byte when it needs to take up two
Local fix Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 V5.0 for z/OS                                *
****************************************************************
* PROBLEM DESCRIPTION: A little endian client received a       *
*                      CORBA::MARSHALL exception with minor    *
*                      code C9C20D03.  A little endian client  *
*                      received a forwarding response in       *
*                      little endian but the forwarding IOR    *
*                      was big endian.  A little endian client *
*                      resulted in an OutOfMemory error.       *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
An enum occupied only one byte instead of two, resulting in an
endian swap picking up random data resulting in a marshall
exception.  The endian of the GIOP message was not considered
when marshalling a forwarding IOR.  The IIOP protocol
information in an IOR was generated in little endian, but the
flag indicating this was not set, thus indicating the data was
in big endian.  A subsequent attempt to obtain storage based on
the little-endian length results in an OutOfMemory error.
Problem conclusion
Increased the size of the enum.  Put the IOR in the proper
endian for the message.  Set the endian bit in the protocol
information.

APAR PQ77097 is associated with SERVICE LEVEL W500104 of
WebSphere Application Server V5.0 for z/OS.
Temporary fix Comments
APAR information
APAR number PQ77097
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2003-08-04
Closed date 2003-08-30
Last modified date 2003-10-03

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UQ79825    UP03/09/10 P F309

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Current web document: swg1PQ77097.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ77097
IBM Group: Software Group
Modified date: Oct 3, 2003