IBM Support

PI29977: EXCESSIVE THREADS FROM COM/IBM/ICU/UTIL/CALENDAR CODE CAUSES RUNTIME DELAY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Client is using Commerce and getting slow-moving threads in what
    appears to be com/ibm/icu/util/Calendar code.  No gc or high CPU
    issues. The following threads are seen from javacores:
    
    ---------
    "WebContianer : 8" has 8 threads waiting for it to complete with
    the
    top of its thread stack being:
    at com/dynatrace/diagnostics/agent/introspection/
    ExceptionIntrospection.a(Bytecode PC:48(Compiled Code))
    at com/dynatrace/diagnostics/agent/introspection/
    ExceptionIntrospection.ExceptionEvent(Bytecode PC:4(Compiled
    Code))
    at java/util/MissingResourceException.
    (MissingResourceException.java:52
    (Compiled Code))
    at com/ibm/icu/impl/ICUResourceBundle.handleGetObjectImpl
    (ICUResourceBundle.java:852(Compiled Code))
    at com/ibm/icu/impl/ICUResourceBundle.handleGetObjectImpl
    (ICUResourceBundle.java:849(Compiled Code))
    at com/ibm/icu/impl/ICUResourceBundle.handleGetObject
    (ICUResourceBundle.java:835(Compiled Code))
    at java/util/ResourceBundle.getObject(ResourceBundle.java:421
    (Compiled Code))
    --------------
    
    It appears that in this version of ICU4J, the Calendar
    constructor walked through ICU resource bundles to resolve an
    appropriate calendar type for a given locale, which is  almost
    always Gregorian calendar except for a few locales. The
    resource bundle implementation in ICU4J 3.4.5 did not utilize
    resource bundle cache, therefore, it repeatedly fetch the
    same contents from resource which involves synchronization
    here and there.
    
    
    Environment:
    WebSphere Network Deployment version 7.0.0.x
    
    Operating System:
    Distributed
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: The application server exhibits slow    *
    *                      response and all of the webcontainer    *
    *                      threads are in use.                     *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The constructor for com.ibm.icu.util.Calendar.class invokes
    the Calendar.getCalendarType(locale) to retrieve the proper
    calendar type for the locale. This process walks through the
    ICU resource bundles, searching for a match. Since parts of
    this codepath are synchronized this can lead to delays when
    multiple threads are instantiating the Calendar.class at the
    same time.
    When this problem is encountered, the stalled webcontainer
    threads will show the stack trace entries:
    at com/ibm/icu/impl/ICUResourceBundle.getFunctionalEquivalent
    (ICUResourceBundle.java:499(Compiled Code))
    at com/ibm/icu/util/Calendar.getCalendarType(Calendar.java:1719
    (Compiled Code))
    

Problem conclusion

  • The resource bundle implementation in ICU4J 3.4.5 does not
    utilize the resource bundle cache, therefore, it repeatedly
    fetches the same contents.
    
    Calendar.class has been updated to cache a calendar type for a
    locale and avoid calling
    ICUResourceBundle.getFunctionalEquivalent(...) repeatedly.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.39.  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

    PI29977

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-11-19

  • Closed date

    2015-03-04

  • Last modified date

    2015-03-04

  • 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

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 October 2021