Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8062757

JAVA need updated "tzmappings" for kb2998527

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 8u25
    • core-libs

      FULL PRODUCT VERSION :
      Every JDK/JRE since JAVA 6

      ADDITIONAL OS VERSION INFORMATION :
      Windows Server 2012 R2 Datacenter
      Windows Server 2012 R2 Standard
      Windows Server 2012 R2 Essentials
      Windows Server 2012 R2 Foundation
      Windows 8.1 Enterprise
      Windows 8.1 Pro
      Windows 8.1
      Windows Server 2012 Datacenter
      Windows Server 2012 Standard
      Windows Server 2012 Essentials
      Windows Server 2012 Foundation
      Windows 8 Enterprise
      Windows 8 Pro
      Windows 8
      Windows Server 2008 R2 Datacenter
      Windows Server 2008 R2 Enterprise
      Windows Server 2008 R2 Standard
      Windows Server 2008 R2 Foundation
      Windows 7 Корпоративная
      Windows 7 Максимальная
      Windows 7 Профессиональная
      Windows 7 Домашняя расширенная
      Windows 7 Домашняя базовая
      Windows Embedded Standard 7 Service Pack 1
      Windows Embedded Standard 7
      Windows Server 2008 Datacenter
      Windows Server 2008 Enterprise
      Windows Server 2008 Standard
      Windows Server 2008 Foundation
      Windows Vista Enterprise
      Windows Vista Ultimate
      Windows Vista Business
      Windows Vista Home Premium
      Windows Vista Home Basic
      Windows Vista Starter
      Microsoft Windows Server 2003 R2 Enterprise x64 Edition
      Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
      Microsoft Windows Server 2003 R2 Datacenter x64 Edition
      Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
      Microsoft Windows Server 2003 R2 Standard x64 Edition
      Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
      Microsoft Windows Server 2003, Enterprise x64 Edition
      Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
      Microsoft Windows Server 2003, Datacenter x64 Edition
      Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
      Microsoft Windows Server 2003, Standard x64 Edition
      Microsoft Windows Server 2003, Standard Edition (32-bit x86)

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Bug is currently present in every JAVA up-to-date of posting

      A DESCRIPTION OF THE PROBLEM :
      After updating JAVA TZ with tzupdater1.4.9_2014i and installing kb2998527 (or similar for new september russian TZs) tzmappings is not updated.
      Because of this JAVA applications which depends on correct time and time zone will fail to perform. DB corruption is also possible.
      This is because tzmappings doesn't have mappings for new Windows registry keys at
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russia Time Zone 10,
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russia Time Zone 11,
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russia Time Zone 3 and subsequently unable to process HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -> TimeZoneKeyName

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Change the TZ in any currently supported Windows with installed kb2998527 to "UTC+4 Izhevsk, Samara RTZ 3", apply. Also "RTZ 10" and "RTZ 11" are affected.
      Compile and run the attached code (name it TZ).

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Time zone: Europe/Samara (for RTZ 3)
      ACTUAL -
      Time zone: America/Caracas or America/Bahia (maybe other, Varies on different servers)

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      No error.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import java.util.Date;
      import java.util.TimeZone;

      public class TZ {

          public static void main(String args[]) {
      long time = System.currentTimeMillis();
      String millis = Long.toString(time);
      Date date = new Date(time);
      System.out.println("Current time in milliseconds = " + millis + " => " + date.toString());
      System.out.println("Current time zone: " + TimeZone.getDefault().getID());
          }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Not a workaround but a complete fix.
      Add the following lines to tzmappings according to header directions in the file:

      Russia Time Zone 10:-1::GMT+1100:
      Russia Time Zone 3:8,9::Europe/Samara:
      Russia Time Zone 11:919,919::GMT+1200:



            okutsu Masayoshi Okutsu
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: