JDK-7109558 : java/util/TimeZone/IDTest.java failed since 5u33b09
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 5.0u33
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2011-11-08
  • Updated: 2011-12-29
  • Resolved: 2011-12-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0u34 b02Fixed
Related Reports
Relates :  
Description
execution test failed with 5u33b09 but passed with 5u33b08 and 5u32b05 

failed with 1.4.2_35-b09 too

see comments for more details
p.s I'm not seeing an issue (or failure) with 142_35 : 

nightsvr $/export2/sc87771/sqe-tools2.1.6fcs/solaris/bin/jtreg -v -jdk:/java/re/jdk/1.4.2_35/promoted/fcs/b09/j4b/binaries/solaris-sparc /java/re/jdk/1.4.2_35/promoted/fcs/b09/j4b/ws/j2se/test/java/util/TimeZone/IDTest.java
runner starting test: java/util/TimeZone/IDTest.java
runner finished test: java/util/TimeZone/IDTest.java
Passed. Execution successful
test results: passed: 1

Comments
SUGGESTED FIX --- old/src/share/classes/sun/tools/javazic/Mappings.java Wed Nov 9 11:04:52 2011 +++ new/src/share/classes/sun/tools/javazic/Mappings.java Wed Nov 9 11:04:47 2011 @@ -1,8 +1,6 @@ /* - * - * - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. - * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package sun.tools.javazic; @@ -50,6 +48,7 @@ void add(Zoneinfo zi) { Map<String,Zone> zones = zi.getZones(); + zoneLoop: for (String zoneName : zones.keySet()) { Zone zone = zones.get(zoneName); String zonename = zone.getName(); @@ -57,15 +56,15 @@ // If the GMT offset of this Zone will change in some // future time, this Zone is added to the exclude list. for (int i = 0; i < zone.size(); i++) { - ZoneRec zrec = zone.get(i); - if ((zrec.getGmtOffset() != rawOffset) - && (zrec.getUntilTime(0) > Time.getCurrentTime())) { - if (excludeList == null) { - excludeList = new ArrayList<String>(); + ZoneRec zrec = zone.get(i); + if ((zrec.getGmtOffset() != rawOffset) + && (zrec.getUntilTime(0) > Time.getCurrentTime())) { + if (excludeList == null) { + excludeList = new ArrayList<String>(); + } + excludeList.add(zone.getName()); + continue zoneLoop; } - excludeList.add(zone.getName()); - break; - } } if (!rawOffsetsIndex.contains(new Integer(rawOffset))) {
15-11-2011

EVALUATION We can either adopt the JDK 6 flow control or set up a labelled continue statement to skip to correct loop after finding a timezone that has future GMT offset.
08-11-2011