IBM Support

PK84678: RESOURCEBUNDLE HOLDS CLASSLOADER REFERENCES USING SOFTREFERENCE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: N/A
    .
    

Local fix

Problem summary

  • The reported problem was caused  when the ResourceBundle  holds
    onto both the bundle values and the classloaders keys using
    Softreferences.
    So during the garbage collection, the related resource bundles
    were not removed and hence  they were found still hung around,
    which would finally results OOM to occur.
    

Problem conclusion

  • The reported problem was resolved by implemeting the following
    changes.
    
    - Weak references are used for the class loader in the   cache
    key.
    
    - A HashMap is used instead of a SoftCache for the cache.
    SoftCache provided the soft references for the values, which
    aren't always appropriate, and with automatic removal of entries
    when memory was getting tight, both could  be handled directly.
    
    - To remove entries from the cache when either the resource
    bundle values in the cache or the requested class loaders get
    garbage collected.
    
    - Using  a constant NOT_FOUND object as the cache value where a
    resource bundle couldn't be found. As previously the  requested
    class loader(if not null) were used, so that the SoftCache
    entries would get automatically deleted when  the class loader
    was garbage collected, but now it is handled directly by
    monitoring the class loader reference in  the cache
    key.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK84678

  • Reported component name

    JAVA(1.3/1.4 CO

  • Reported component ID

    5648C9800

  • Reported release

    42A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-04-14

  • Closed date

    2009-06-18

  • Last modified date

    2009-06-18

  • 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

    JAVA(1.3/1.4 CO

  • Fixed component ID

    5648C9800

Applicable component levels

  • R038 PSY

       UP

  • R130 PSY

       UP

  • R131 PSY

       UP

  • R13A PSY

       UP

  • R13I PSY

       UP

  • R13L PSY

       UP

  • R13O PSY

       UP

  • R13W PSY

       UP

  • R140 PSY

       UP

  • R14A PSY

       UP

  • R14I PSY

       UP

  • R14L PSY

       UP

  • R14W PSY

       UP

  • R310 PSY

       UP

  • R31A PSY

       UP

  • R31I PSY

       UP

  • R31L PSY

       UP

  • R31O PSY

       UP

  • R31W PSY

       UP

  • R410 PSY

       UP

  • R41A PSY

       UP

  • R41L PSY

       UP

  • R41W PSY

       UP

  • R420 PSY

       UP

  • R42A PSY

       UP

  • R42L PSY

       UP

  • R42W PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.4.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 February 2022