PQ54594: JAVAIDL LISTENER THREADS NOT CLEANED UP WHEN COMMUMICATING TO WEBSPHERE ORB THROUGH LOTUS DOMINO NCSOW.JAR (CMVC DEFECT 83075) | |||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||
APAR status Closed as program error. Error description (CMVC defect 83075) When using remote access through NCSOW.jar between WebSphere ser vlet and Domino Server, WebSphere's JavaIDL listener threads are not cleaned up after each completion of the servlet, and causes a memory leak in the WebSphere Application Server. The roo cau se is the listner threads have not released its resources back t o the current ORB object while the ORB object is waiting and dep ending on these listeners before making a completed stop and cle aning itsele When user re-invokes servlet by refreshing the browser, a new OR B and JavaIDL listener are created.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * who communicate with Domino Server. * **************************************************************** * PROBLEM DESCRIPTION: Listener threads would not go away * * in WebSphere Application Server. * **************************************************************** * RECOMMENDATION: * **************************************************************** When using remote access by NCSOW.jar between WebSphere Servlet/JSP and Domino Server, WebSphere's JavaIDL listener threads are not cleaned up after each completion of the servlet and causes the memory leak in the WebSphere Application Server. The root cause is the listener threads have not released its resources back to the current ORB object while the ORB object is waiting and depending on these listeners before making a completed stop and cleaning of itself. When user re-invokes servlet by refreshing the browser, a new ORB and JavaIDL listeners are being created; And at the same moment, the current ORB and JavaIDL listeners are still sitting there and expecting for a client's incoming call. As a result, old ORB and JavaIDL listener threads were not being removed and new ORB and JavaIDL listener threads are being created. These old and new ORB and JavaIDL listeners will eventually use up all of the available memory and the JVM will throw an out of memory exception when it is full.Problem conclusion ORB explicitly stop the JavaIDL Listener threads and gets the resources back from the listeners and stops itself right before the completion of the servlet. So when user re-invokes the servlet by refreshing the browser, the current ORB will be stopped and removed completely right before the new ORB is instantiated. There are two parts of changes to resolve this problem. The first parts of the changes is from WebSphere Java ORB team. The second part of changes is from the Domino team. These packages are named 'was354_d83075.jar' and 'ncsow.jar' respectly.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: PQ53456 APAR is sysrouted TO one or more of the following: Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ54594
IBM Group: Software Group
Modified date: Nov 9, 2001
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.