IBM Support

PH26778: AXIS2 JAXBUTILS CLASS CONSUMING LARGE AMOUNT OF MEMORY

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When creating several thousands unique JAX-WS Webservice
    clients JAXBUtils may grow in memory utilization, heap dump
    look similar to following
    
    The class
    "org.apache.axis2.jaxws.message.databinding.JAXBUtils", loaded
    by "<system class loader>", occupies 449,094,008 (40.69%)
    bytes. The memory is accumulated in one instance of
    "java.util.concurrent.ConcurrentHashMap$Node[]" loaded by
    "<system class loader>".
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server users of   *
    *                  JAX-WS Web Services                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: Axis2 JAXBUtils class consuming large   *
    *                      amount of memory                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    In certain Web services scenarios, memory analyzer tool shows
    large amount of memory being consumed by the Axis2 class:
    org.apache.axis2.jaxws.message.databinding.JAXBUtils. Memory
    Analyzer displays message like this:
    The class
    "org.apache.axis2.jaxws.message.databinding.JAXBUtils", loaded
    by "org.apache.axis2", occupies 448,797,791 (38.08%) bytes.
    The memory is accumulated in one instance of
    "java.util.concurrent.ConcurrentHashMap$Node[]" loaded by
    "com.ibm.oti.vm.BootstrapClassLoader
    

Problem conclusion

  • The memory leak in Axis2 JAXBUtils class occurred because in
    certain Web services scenarios, a large number of different
    JAXB contexts were created and cached in memory in a short
    period of time, which did not provide enough time for Garbage
    Collector to run and cleanup unused JAXBContext cache entries.
    The Web services code was modified to limit the number of JAXB
    contexts that are stored in the cache if the JVM property:
    jaxws.JAXBContext.reduceHashMapMemory is set to true.
    
    The fix for this APAR is targeted for inclusion in fix packs
    8.5.5.19 and 9.0.5.6. For more information, see 'Recommended
    Updates for
    WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH26778

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-24

  • Closed date

    2020-11-03

  • Last modified date

    2020-11-03

  • 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

  • R850 PSY

       UP

  • R900 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
02 November 2021