IBM Support

PI94848: OutOfMemoryError caused by a memory leak in WASAnnotationHelper

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • WASAnnotationHelper maintains a HashMap of injected objects, and
    because object instances are used as keys then at the end of the
    request WASAnnotationHelper cannot find and remove the modified
    HashMap objects.
    
    
    com.ibm.ws.webcontainer.annotation.WASAnnotationHelper
    |- java.util.concurrent.ConcurrentHashMap
    com.ibm.ws.webcontainer.annotation.WASAnnotationHelper
    |- java.util.concurrent.ConcurrentHashMap
    |  '- java.util.concurrent.ConcurrentHashMap$Node
    |     |- java.util.concurrent.ConcurrentHashMap$TreeBin
    |     |  |- java.util.concurrent.ConcurrentHashMap$TreeNode
    |     |  |  |- java.util.HashMap
    |     |  |  |  |- java.util.HashMap$Node
    |     |  |  |  |  '- java.util.HashMap$Node
    |     |  |  |  |     '-
    |     |  |  |  |        |-
    |     |  |  |  |        |  |-
    javax.faces.component.html.HtmlForm
    |     |  |  |  |        |  |-
    javax.faces.component._ComponentFacetMap
    |     |  |  |  |        |  |-
    javax.faces.component._ComponentChildrenList
    |     |  |  |  |        |  |-
    javax.faces.component._DeltaStateHelper
    |     |  |  |  |        |  |- java.lang.String
    |     |  |  |  |        |  |-
    javax.faces.component._ComponentAttributesMap
    |     |  |  |  |        |  '- Total: 6 entries
    |     |  |  |  |        |-
    javax.faces.component._ComponentChildrenList
    |     |  |  |  |        |-
    javax.faces.component._DeltaStateHelper
    |     |  |  |  |        |- java.util.HashMap
    |     |  |  |  |        |- javax.faces.component._DeltaList
    |     |  |  |  |        |-
    javax.faces.component._ComponentAttributesMap
    |     |  |  |  |        '- Total: 6 entries
    |     |  |  |  |- java.util.HashMap$EntrySet
    |     |  |  |  '- Total: 2 entries
    |     |  |  |-
    com.ibm.ws.cdi.impl.managedobject.CDIManagedObject
    |     |  |  |  |-
    org.jboss.weld.injection.producer.BeanInjectionTarget
    |     |  |  |  |- org.jboss.weld.context.CreationalContextImpl
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server version    *
    *                  9.0 users of WebContainer                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: A java.lang.OutOfMemoryError can be     *
    *                      caused by a WebContainer map leaking    *
    *                      injected objects                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Certain types of injected objects managed by the
    WASAnnotationHelper are not destroyed and cleaned up properly.
    For example, in some common scenarios - such as defining a
    backing java.util.HashMap - JSF Managed Beans can leak.
    The hierarchy for this leak will look similar to the following:
    com.ibm.ws.webcontainer.annotation.WASAnnotationHelper
    |- java.util.concurrent.ConcurrentHashMap
    |  '- java.util.concurrent.ConcurrentHashMap$Node[65536]
    |     |- java.util.concurrent.ConcurrentHashMap$TreeBin
    |     |  |- java.util.concurrent.ConcurrentHashMap$TreeNode
    |     |  |  |- java.util.HashMap
    |     |  |  |-
    com.ibm.ws.cdi.impl.managedobject.CDIManagedObject
    

Problem conclusion

  • The WebContainer code has been modified to correctly destroy
    and clean up the injected objects that are being held.
    
    The fix for this APAR is currently targeted for inclusion in
    fixpack 9.0.0.8. 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

    PI94848

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-03-07

  • Closed date

    2018-04-05

  • Last modified date

    2018-04-05

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"900","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
18 October 2021