IBM Support

PI14746: Memory leak in J2C PoolManager due to reaper alarms not being cancelled.

Download


Abstract

Memory leak in J2C PoolManager due to reaper alarms not being cancelled.

Download Description

PI14746 resolves the following problem:

ERROR DESCRIPTION:
When the PoolManager is stopped, the Reaper Alarms are not canceled and this can result in a possible OutOfMemory condition.

LOCAL FIX:
NA

PROBLEM SUMMARY

USERS AFFECTED:
All users of IBM WebSphere Application Server V8.5

PROBLEM DESCRIPTION:
Memory Leak in J2C PoolManager when using MQ JMS Connection Factory

RECOMMENDATION:
None

This memory leak specifically manifests itself when applications use the JMS Queue Connection Factory that involves a JMS Connection pool and JMS Session pool. When the Managed connection is destroyed due to unused or aged timeouts, then the associated JMS Session pool will be stopped and destroyed and the reaper alarms associated with the PoolManager should also be cancelled. The Session pool is being stopped, however, the PoolManager instances registered in the reaper alarms is not getting destroyed and the alarms are repeatedly created and
cancelled for every reap cycle. This causes the PoolManager objects and its associated reaper alarm objects to stay on the heap forever, potentially leading to OutOfMemory conditions.

Heap analyzer tools might show a leak suspect with a stack trace similar to this:

A Linked List Data Structure Detected.
1,981,662,352 bytes (47.28 %) of Java heap is used by 44
instances of
java/util/concurrent/ConcurrentSkipListMap$Index
Contains the following object:- 44 instances of
java/util/concurrent/ConcurrentSkipListMap$Node holding
5,366,608 bytes

TotalSize [ObjectSize] NumberOfChildObject(249,874) ObjectName
Address
|- 1,981,966,928 [24] 1
java/util/concurrent/ConcurrentSkipListMap$HeadIndex
0xf7766298
|- 1,981,966,904 [24] 2
java/util/concurrent/ConcurrentSkipListMap$HeadIndex
0xf180b1b8
|- 1,981,966,544 [24] 3
java/util/concurrent/ConcurrentSkipListMap$Index 0xffa75200
|- 1,453,166,232 [24] 3
java/util/concurrent/ConcurrentSkipListMap$Index 0xffa751e8
|- 528,679,664 [24] 3
java/util/concurrent/ConcurrentSkipListMap$Index 0x1055a3258
|- 120,624 [24] 3
java/util/concurrent/ConcurrentSkipListMap

PROBLEM CONCLUSION:
The WebSphere J2C has been updated to prevent the memory leak in J2C PoolManager code.

On
[{"DNLabel":"8.5.5.2","DNDate":"16 May 2014","DNLang":"English","DNSize":"344278","DNPlat":{"label":"AIX","code":"PF002"},"DNURL":"http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~WebSphere&product=ibm/WebSphere/WebSphere+Application+Server&release=All&platform=All&function=fixId&fixids=8.5.5.2-WS-WAS-IFPI14746","DNURL_FTP":" ","DDURL":null},{"DNLabel":"8.5.5.1","DNDate":"16 May 2014","DNLang":"English","DNSize":"344271","DNPlat":{"label":"AIX","code":"PF002"},"DNURL":"http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~WebSphere&product=ibm/WebSphere/WebSphere+Application+Server&release=All&platform=All&function=fixId&fixids=8.5.5.1-WS-WAS-IFPI14746","DNURL_FTP":" ","DDURL":null},{"DNLabel":"8.5.5.0","DNDate":"16 May 2014","DNLang":"English","DNSize":"344253","DNPlat":{"label":"AIX","code":"PF002"},"DNURL":"http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~WebSphere&product=ibm/WebSphere/WebSphere+Application+Server&release=All&platform=All&function=fixId&fixids=8.5.5.0-WS-WAS-IFPI14746","DNURL_FTP":" ","DDURL":null}]
[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF014","label":"iOS"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"8.5.5.2;8.5.5.1;8.5.5","Edition":"Base;Developer;Express;Liberty;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg24037572