JDK-8062757 : JAVA need updated "tzmappings" for kb2998527
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 8u25
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_2008
  • CPU: x86
  • Submitted: 2014-10-31
  • Updated: 2014-11-09
  • Resolved: 2014-11-09
Related Reports
Duplicate :  
Description
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: