PQ77097: FROM C++ CLIENT (LITTLE ENDIAN), A CREATE() METHOD WAS INVOKED TO AN EJBHOME WHICH GOT OUTOFMEMORYERROR IN SERVANT REGION. | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() 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 twoLocal 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 is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
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
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.