IBM Support

PK57072: MEMORY LEAK IN ELEVALUATOR

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Memory leak in standard taglib ELEvaluator class.  A fix has
    been publicly posted and see below link for more information.
    
    http://issues.apache.org/bugzilla/show_bug.cgi?id=31789
    
    
    
    This is actually a bug for version 1.0.6 (but I couldn't select
    that version because it wasn't listed).
    
    WHAT IS IT?:
         All evaluated expressions are added to the ELEvaluator's
    sCachedExpressionStrings map and never removed. This causes a
    memory leak which can eventually cause running programs to crash
    due to an OutOfMemoryError.
    
    
    WHERE IS IT?:
    
    org.apache.taglibs.standard.lang.jstl.ELEvaluator.parseExpressio
    nString(String)
    
    TO REPRODUCE:
         Write a simple page that uses a JSTL tag, give it a
    different dynamically-generated expression as an attribute value
    and refresh the page several times. Eventually you will see the
    memory climb (through profiling, system logs or by your process
    exiting with an OutOfMemoryError).
    
    A POSSIBLE FIX:
         A possible fix would be to use a last-recently-used cache
    (such as Java 1.4's LinkedHashMap) to ensure that items do not
    remain in this cache indefinitely.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: IBM WebSphere Application Server Version     *
    *                 6.0.2 and 6.1 users of Java Server Pages     *
    *                 (JSP).                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: The Java Standard Tag Library (JSTL)    *
    *                      shipped with Application Server caches  *
    *                      expressions in a hash map that grows    *
    *                      in size with the number of expressions. *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    JSTL's expression evaluator is used for applications with a
    web.xml that defines the servlet specification as 2.3 or
    lower. The hash map that this evaluator caches expressions in
    is not bounded in size and grows with the number of unique
    expressions it evaluates. For applications with a very large
    number of unique expressions this can use a lot of memory.
    

Problem conclusion

  • Included fix for Apache Bugzilla Bug 31789
    (http://issues.apache.org/bugzilla/show_bug.cgi?id=31789) in
    the version of JSTL shipped with WebSphere 6.0.2 and 6.1.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 6.0.2.27 and 6.1.0.17. 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

    PK57072

  • Reported component name

    WEBSPH APP SERV

  • Reported component ID

    5724J0800

  • Reported release

    60A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-11-26

  • Closed date

    2008-02-05

  • Last modified date

    2008-02-05

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • JSP
    

Fix information

  • Fixed component name

    WEBSPH APP SERV

  • Fixed component ID

    5724J0800

Applicable component levels

  • R60A PSY

       UP

  • R60H PSY

       UP

  • R60I PSY

       UP

  • R60P PSY

       UP

  • R60S PSY

       UP

  • R60W PSY

       UP

  • R60Z PSY

       UP

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z 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":"6.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 December 2021