Fixes are available
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12
WebSphere Application Server traditional 9.0.5.6
21.0.0.3: WebSphere Application Server Liberty 21.0.0.3
9.0.5.7: WebSphere Application Server traditional Version 9.0.5 Fix Pack 7
21.0.0.4: WebSphere Application Server Liberty 21.0.0.4
21.0.0.5: WebSphere Application Server Liberty 21.0.0.5
21.0.0.6: WebSphere Application Server Liberty 21.0.0.6
9.0.5.8: WebSphere Application Server traditional Version 9.0.5.8
21.0.0.7: WebSphere Application Server Liberty 21.0.0.7
21.0.0.1: WebSphere Application Server Liberty 21.0.0.1
21.0.0.2: WebSphere Application Server Liberty 21.0.0.2
21.0.0.8: WebSphere Application Server Liberty 21.0.0.8
21.0.0.9: WebSphere Application Server Liberty 21.0.0.9
9.0.5.9: WebSphere Application Server traditional Version 9.0.5.9
21.0.0.10: WebSphere Application Server Liberty 21.0.0.10
21.0.0.11: WebSphere Application Server Liberty 21.0.0.11
21.0.0.12: WebSphere Application Server Liberty 21.0.0.12
9.0.5.10: WebSphere Application Server traditional Version 9.0.5.10
22.0.0.1: WebSphere Application Server Liberty 22.0.0.1
22.0.0.2: WebSphere Application Server Liberty 22.0.0.2
22.0.0.3: WebSphere Application Server Liberty 22.0.0.3
9.0.5.11: WebSphere Application Server traditional Version 9.0.5.11
22.0.0.4: WebSphere Application Server Liberty 22.0.0.4
APAR status
Closed as program error.
Error description
Applications which are callingusing Action Listener is not being removed until application shutdown. Since instances are being held in a list of injected JSF artifacts, this list will grow unless you shutdown the app. Heapdump shows leaking objects are created by code using org/apache/myfaces/cdi/dependent/BeanEntry and these are holding a reference to ActionListener Neither GC or Session invalidation clear these objects from memory. Example of leaking object tree 12,433,696 (27.93%) [96] 13 com/ibm/ws/webcontainer31/session/impl/HttpSessionContext31I mpl 0xe2d00600 |- 12,432,456 (27.92%) [32] 3 com/ibm/ws/session/SessionInvalidatorWithThreadPool 0xe2d05bf8 |- 12,432,136 (27.92%) [16] 1 com/ibm/ws/session/SessionInvalidatorWithThreadPool$Invalida tion Task 0xe2d12048 |- 12,432,120 (27.92%) [72] 7 com/ibm/ws/session/store/memory/MemoryStore 0xe2d11ea0 |- 12,427,624 (27.91%) [328] 55 com/ibm/ws/webcontainer31/osgi/webapp/WebApp31 0xe1b36f80 |- 12,285,424 (27.59%) [32] 5 com/ibm/ws/adaptable/module/internal/AdaptableContainerImpl 0xe1b36298 |- 111,872 (0.25%) [32] 2 java/util/Collections$SynchronizedMap 0xe1b37a60 |- 111,840 (0.25%) [40] 1 java/util/HashMap 0xe1b38588 |- 111,800 (0.25%) [512] 46 array of java/util/HashMap$Node 0xfe743430 |- 100,152 (0.22%) [24] 2 java/util/HashMap$Node 0xe2d05e50 |- 4,424 (0.01%) [24] 2 java/util/HashMap$Node 0xfe751410 |- 2,024 (0%) [24] 2 java/util/HashMap$Node 0xe2d05fa0 |- 824 (0%) [24] 2 java/util/HashMap$Node 0xe2d05ef8 |- 464 (0%) [24] 3 java/util/HashMap$Node 0xe2d05ee0 |- 288 (0%) [24] 2 java/util/HashMap$Node 0xe2d05f70 |- 264 (0%) [24] 2 java/util/HashMap$Node 0xe2de9208 |- 264 (0%) [24] 2 java/util/HashMap$Node 0xe2d05e80 |- 224 (0%) [24] 2 java/util/HashMap$Node 0xfe751470 |- 224 (0%) [24] 2 java/util/HashMap$Node 0xe03200a0 |- 224 (0%) [24] 2 java/util/HashMap$Node 0xfe751458 |- 200 (0%) [24] 2 java/util/HashMap$Node 0xfe751440 |- 192 (0%) [24] 2 java/util/HashMap$Node 0xe2d05fe8 |- 168 (0%) [16] 2 java/util/concurrent/CopyOnWriteArrayList 0xe2d121e0 |- 104 (0%) [16] 5 array of java/lang/Object 0xfe7498c8 |- 24 (0%) [16] 1 org/apache/myfaces/cdi/dependent/BeanEntry 0xfe7577f0 |- 8 (0%) [8] 0 sampleactionlistener/TestListener 0xfe7c4080
Local fix
For customers application that raised this issue the following work around was possible. We have found a work around for this issue which should prevent the ActionListener from leaking every time the commandButton is executed. The work around to this issue would be to add the "binding" attribute to the f:actionListener element. When a binding is specified, only one instance will be created and added to the list of injected beans in the application map. As a result, since no new instances are created for each commandButton execution, then memory leak is prevented. The following link shows how to use the binding in the f:actionListener element: http://javabeat.net/how-to-implement-actionlistener-factionliste ner-in-j sf/
Problem summary
**************************************************************** * USERS AFFECTED: IBM WebSphere Application Server * * Traditional Profile version 9.0 and Liberty * * Profile users of JavaServer Faces (JSF) * * MyFaces 2.2 * **************************************************************** * PROBLEM DESCRIPTION: Instances of Action Listeners * * registered in a Facelet are not being * * removed from the injectable objects * * list until app shutdown * **************************************************************** * RECOMMENDATION: * **************************************************************** When an Action Listener instance is created and registered via a Facelet, that instance is stored in a list that keep tracks of JSF injectable objects. This list will grow, as instances of the Action Listener registered via a Facelet are not removed until the application shuts down.
Problem conclusion
To prevent the list from growing due to Action Listeners being added to it that are registered via a Facelet the JSF MyFaces 2.2 code was updated to not call PreDestroy when an Action Listeners is registered via a Facelet. To enable this fix, set the following context parameter to true: com.ibm.ws.jsf.DisableFaceletActionListenerPreDestroy (true / false-default) The fix for this APAR is currently targeted for inclusion in fix pack 9.0.0.7 for WebSphere Application Server Traditional Profile and 17.0.0.4 for WebSphere Application Server Liberty Profile. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI90507
Reported component name
LIBERTY PROFILE
Reported component ID
5724J0814
Reported release
850
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-11-21
Closed date
2017-12-04
Last modified date
2017-12-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
LIBERTY PROFILE
Fixed component ID
5724J0814
Applicable component levels
R850 PSY
UP
Document Information
Modified date:
03 May 2022