PQ62370: STORAGE LEAK IN RMI CLIENT CODE LEAVING 128K STORAGE ALLOCATED | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description A servlet attaches many threads which invoke EJBs using RMI. Each thread runs a set of requests and then exits. The first RMI request on a thread generates a control block structure which includes a 128 kilobyte communications buffer and several other control blocks. These buffers and control blocks are not cleaned up when the thread terminates. The application eventually exhausts storage and crashes.Local fix The problem can be avoided if the application pools its java threads. That is, modify the application to not terminate the java threads. Instead, once a thread becomes idle, put it on a queue of free threads waiting for more work. On the next request, dispatch one of the free threads to complete the request instead of creating a new one. By doing so, the large and necessary control block structure can be reused.Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: There exists a storage leak in RMI * * client code which results in 128k of * * storage being left allocated. * **************************************************************** * RECOMMENDATION: * **************************************************************** A servlet attaches many threads which invoke EJBs using RMI. Each thread runs a set of requests and then exits. The first RMI request on a thread generates a control block structure which includes a 128k communications buffer and several other control blocks. These buffers and control blocks are not cleaned up when the thread terminates. The application eventually exhausts storage.Problem conclusion Method boss_thread_destructor()in modules bbo3tcb.cpp has been changed to free the communication buffer and other thread related control blocks. Also, method BBOT_TransactionCurrentRep_SR::cleanupThread() in module bbottscu.cpp has been modified to free up several internal control blocks. APAR PQ62370 is associated with SERVICE LEVEL W401087 of WebSphere Application Server V4.0.1 for z/OS and OS/390.Temporary fix ********* * HIPER * ********* NONEComments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: UQ68444 Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ62370
IBM Group: Software Group
Modified date: Sep 27, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.