IBM Support

PI72163: DEPLOYMENT MANAGER CRASHES WITH OOM WHEN APPLICATION IS DEPLOYED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An out-of-memory condition occurs when an application
    containing a large number of EJBs is deployed.
    Using the Memory Analyzer Tool (MAT) on the heap dump generated
    by the OOM will show leak suspects for
    com.ibm.etools.commonarchive.impl.EJBJarFileImpl
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server deploying applications containing a  *
    *                  large number of EJBs and EJB methods.       *
    ****************************************************************
    * PROBLEM DESCRIPTION: An out-of-memory condition occurs when  *
    *                      an application containing a large       *
    *                      number of EJBs is deployed.             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The symptom of this problem is an Out-Of-Memory exception
    occuring while deploying an application. The heap dump which is
    generated for the exception will show leak suspect
    instances of class
    com.ibm.etools.commonarchive.impl.EJBJarFileImpl.  (The
    generated heap dump can be viewed using "IBM Monitoring and
    Diagnostic Tools for Java - Memory Analyzer" -- "MAT".)
    The problem is specific to applications which contain a large
    number of EJBs and EJB method elements.  EJBs may be defined
    directly within EJB deployment descriptors (ejb-jar.xml).  EJBs
    may also be defined using Java annotations.  Method
    elements are written for the methods in the interfaces of the
    EJBs and are present to encode method transaction and method
    permission information.
    This problem may occur in two ways: either, because the
    initial,
    EJB deployment descriptor (ejb-jar.xml) is very
    large, or because the generated, merged, EJB deployment
    descriptor (ejb-jar_merged.xml) is very large.
    For a view of EJB metadata which are defined for an
    application, look for EJB deployment descriptors
    (ejb-jar.xml) and for generated EJB deployment descriptors
    (ejb-jar_merged.xml).  These are written as a
    part of deploying an application to sub-folders of
    "PROFILE_HOME/config/cells/CELL_NAME/applications".
    When this problem was seen, the EJB deployment descriptor had
    a size of over 11 megabytes.
    

Problem conclusion

  • The problem was caused by memory overhead of the DOM XML
    parser which is used for application deployment descriptors.
    For an application which has few EJBs and EJB methods, the
    problem does not occur.
    
    There are two changes to the source code to address this
    problem.  First, a SAX XML parser is used by default to parse
    the merged deployment descriptors that are generated during
    deployment.  For example, ejb-jar_merged.xml.  This reduces
    the excessive memory usage when many EJBs are defined using
    annotations.
    
    The second change is to use a SAX parser for reading
    deployment descriptors provided with the application; for
    example ejb-jar.xml.
    
    The first change is automatically enabled.  To enable the
    second change, you must set the following custom property:
    
    Property: org.eclipse.jst.j2ee.common.useSaxParser
    Allowed Values: false, true
    Default Value: false
    
    Description: When the property is enabled, a SAX parser is
    used instead of a DOM parser for parsing deployment
    descriptors.  This reduces memory usage during application
    deployment for applications that have many EJBs and EJB
    methods defined in ejb-jar.xml.
    
    Use caution:  The SAX parser forces validation of the
    deployment descriptors.  To use this property, your deployment
    descriptors must be valid against the schema, or deployment
    will fail.  A side effect of using this custom property is
    that formatting of merged deployment descriptors, generated
    during deployment, will omit all comments and formatting will
    not be preserved.  This side effect does not affect deployment
    or the running of the application.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.5.5.12 and 9.0.0.3.  Please refer
    to the Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    
    In addition, please refer to URL:
    http://www.ibm.com/support/docview.wss?rs=404&uid=swg27006970
    for Fix Pack PTF information.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI72163

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-10

  • Closed date

    2017-01-09

  • Last modified date

    2017-01-09

  • 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

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
18 October 2021