Skip to main content

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

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Runtimes for Java Technology

Java Class Libraries


Software version:
5.0


Reference #:
IV07091


Modified date:
2011-09-23

Translate my page

Content navigation