PQ55948: OUTOFMEMORY (MEMORY LEAK) OCCURS WHEN SECURITY IS ENABLED AND APPLICATION SPAWNS A ASYNCHRONOUS THREAD WHICH MAKES AN ORB CALL

A fix is available
WebSphere Application Server Version 3.5 Fix Pack 7 (3.5.7)

APAR

APAR status
Closed as program error.

Error description
Environment:
WebSphere Application Server (WAS) 3.5.3 Advanced Edition
.
Description:Environment:WebSphere Application Server (WAS) 3.5.3 Advanced Edition.
Customer has a servlet which spawns a thread which in turn makes a call to MQSeries. In this scenario, when WAS security is enabled, a memory leak occurs which eventually results in OutOfMemory as objects instantiated by the servlet stay around because security references to the objects don't go away.
Description:Customer has a servlet which spawns a thread which in turnmakes a call to MQSeries. In this scenario, when WAS security isenabled, a memory leak occurs which eventually results inOutOfMemory as objects instantiated by the servlet stay aroundbecause security references to the objects don't go away.
Local fix
Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users       *
*                 which have deployed servlets which are EJB   *
*                 clients and instantiate new threads and      *
*                 WebSphere security is enabled.               *
****************************************************************
* PROBLEM DESCRIPTION: Security associates thread specific     *
*                      data with the hashtables which          *
*                      prevent the threads from being garbage  *
*                      collected.                              *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
Security associates thread specific data with the hashtables
using the thread object as a key.  Since there is a reference
to the thread object stored in a hashtable, the thread object
will not be garbage collected even if it has gone out of
context in the servlet.  This issue can be exacerbated by
subclassing the thread in which the subclassed thread has
references to large data objects.
Problem conclusion
Logic was added to the hashtables to periodically remove all
references to threads which were no longer executing.  The
logic is activated if N new threads are added to the hashtable
since the last time the removal logic has run.  N is a
tuneable value which defaults to 100 and is set by the
"com.ibm.CORBA.threadStateCleanupDelta" property.
Temporary fix
An efix fix is available for 3.5.3.
Comments
APAR information
APAR numberPQ55948
Reported component nameWAS ADVANCED AI
Reported component ID5648C8400
Reported release350
StatusCLOSED PER
PENoPE
HIPERNoHIPER
Submitted date2001-12-14
Closed date2002-01-07
Last modified date2002-09-10

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:APAR is sysrouted FROM one or more of the following:


Modules/Macros
SECURITY
APAR is sysrouted TO one or more of the following:Modules/Macros

Fix information
Fixed component nameWAS ADVANCED AI
Fixed component ID5648C8400

Applicable component levels
R350 PSYUP











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, General
Software version: 350
Reference #: PQ55948
IBM Group: Software Group
Modified date: 2002-09-10