IBM Support

PI58029: Classloader leak associated with PCRegistry

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Classloader was detected as leak associated with PCRegistry
    object. This can be revealed when stopping application
    and the following property is enabled.
      "com.ibm.ws.runtime.component.MemoryLeakConfig
      .detectAppCLLeaks=true"
    

Local fix

  • implement PCRegistery.deRegister() within
    ServletContextListener's  'contextDestroyed' method.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V8.5.0 and V8.5.5 who make use of    *
    *                  OpenJPA.                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: OpenJPA's PCRegistry class might        *
    *                      cause a Classloader leak after an       *
    *                      application restart.                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an application makes use of OpenJPA, that application can
    be listed as being a leak suspect when the application is
    restarted.  When looking at the leak suspect stack, the
    PCEnhancer is listed as a suspect as follows:
    82,585,680 (64.78%) [32] 101 class
    org/apache/openjpa/enhance/PCEnhancer 0x3f76800
    |- 82,582,296 (64.78%) [32] 26 class
    org/apache/openjpa/enhance/Reflection 0x3f7db10
    |- 82,571,808 (64.77%) [64] 2
    org/apache/openjpa/lib/util/concurrent/ConcurrentReferenceHashMa
    p 0x3bd7440
    |- 82,571,720 (64.77%) [64] 2 array of
    org/apache/openjpa/lib/util/concurrent/ConcurrentReferenceHashMa
    p$Entry 0x3bd8988
    |- 82,466,504 (64.69%) [48] 4
    org/apache/openjpa/lib/util/concurrent/ConcurrentReferenceHashMa
    p$WeakEntry 0x3bd9e30
    |- 82,465,528 (64.69%) [32] 27 class example/Row
    0x3f7ee60
    |- 82,462,968 (64.69%) [152] 21
    com/ibm/ws/classloader/CompoundClassLoader 0x4762208
    |- 82,434,272 (64.66%) [48] 1
    java/util/Hashtable 0x476cab0
    |- 82,434,224 (64.66%) [64] 4 array of
    java/util/Hashtable$Entry 0x477a2c0
    |- 75,507,680 (59.23%) [24] 2
    java/util/Hashtable$Entry 0x4ca4e48
    |- 75,506,328 (59.23%) [32] 22
    class example/MyServlet 0x2b27600
    Notice that at the bottom of the stack is the class
    'MyServlet'.  This is the application class which is making
    use of JPA/OpenJPA.  This class is not doing anything improper
    with OpenJPA, rather OpenJPA is not properly clearning up some
    meta data, contained in OpenJPA's PCRegistry, associated with
    MyServlet and its containing application.
    

Problem conclusion

  • With this fix, code has been added to OpenJPA to allow its
    PCRegistry to remove meta data for an application which
    has been stopped, thus allowing the associated Classloader to
    be GC'd.
    
    The fix for this APAR is currently targeted for
    inclusion in Service Level (Fix Pack) 8.5.5.10 of WebSphere
    Application Server version 8.5.5 and fix pack 16.0.0.2 of
    WebSphere Liberty.
    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

    PI58029

  • 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

    2016-02-24

  • Closed date

    2016-05-18

  • Last modified date

    2016-06-09

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

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

    PI78357 PI78486

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 850

Reference #: PI58029

Modified date: 09 June 2016