IBM Support

IV07091: TIMEZONE.GETDISPLAYNAME SHOULD USE CONCURRENTMAP FOR CACHING DIS PLAY NAMES

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Customer was seeing Hang
    .
    Stack Trace: The stack trace of the thread hung at the time of
    hang is
    3LKMONOBJECT
    java/util/HashMap@07000000021D4C38/07000000021D4C50:
    owner "WebContainer : 107" (0x0000000131030300), entry count 1
    
    3LKWAITERQ            Waiting to enter:
    
    3LKWAITER                "WebContainer : 0" (0x0000000116782F00)
    
    3LKWAITER                "WebContainer : 1" (0x0000000116788800)
    
    ...
    
    3XMTHREADINFO      "WebContainer : 107" (TID:0x0000000131030300,
    
    sys_thread_t:0x0000000130C22200, state:CW, native
    ID:0x00000000001393F5)
    prio=5
    
    4XESTACKTRACE          at
    
    java/text/DateFormatSymbols.getZoneStrings(DateFormatSymbols.jav
    a:325(Co
    mpiled Code))
    
    4XESTACKTRACE          at
    
    java/util/TimeZone.retrieveDisplayNames(TimeZone.java:449(Compil
    ed
    Code))
    
    4XESTACKTRACE          at
    
    ...
    
    3XMTHREADINFO      "WebContainer : 0" (TID:0x0000000116782F00,
    
    sys_thread_t:0x00000001194CDDF0, state:B, native
    ID:0x000000000012A321)
    prio=5
    
    4XESTACKTRACE          at
    
    java/util/TimeZone.getDisplayNames(TimeZone.java:418(Compiled
    Code))
    4XESTACKTRACE          at
    
    java/util/TimeZone.getDisplayName(TimeZone.java:385(Compiled
    Code))
    .
    

Local fix

Problem summary

  • Date.toString was improved by eliminating static
    GregorianCalendar and SimpleDateFormat instances. However, it
    calls TimeZone.getDisplayName to get an abbreviation of a time
    zone. In the getDisplayName implementation, it uses a HashMap
    with synchronization. The HashMap should be replaced with a
    ConcurrentHashMap to improve concurrency.
    

Problem conclusion

  • This defect will be fixed in:
    5.0.0 SR?
    .
    The use of ConcurrentHashMap has imporoved the concurrency and
     the hang that was seen before is avoided .
    .
    To obtain the fix:
    Install build 20110924 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV07091

  • Reported component name

    JAVA 5 CLASS LI

  • Reported component ID

    620500130

  • Reported release

    500

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-09-03

  • Closed date

    2011-09-23

  • Last modified date

    2011-09-23

  • 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 5 CLASS LI

  • Fixed component ID

    620500130

Applicable component levels

  • R500 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
23 September 2011