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

Removal of "tzdb.dat" file of the previous installation during update of JRE results in ExceptionInInitializerError.

XMLWordPrintable

      FULL PRODUCT VERSION :


      ADDITIONAL OS VERSION INFORMATION :
      This is true for Window OS 7 and higher.

      A DESCRIPTION OF THE PROBLEM :
      During jre updating it has cleared old version instalation folder including ' tzdb.dat' file. Meanwhile if another java application is running, and after jre has been updated the application tried to create LocalData/LocalDateTime/LocalDate and an exception appeared.
      Please don't remove "tzdb.dat" file during update.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Run java app on old version jre and don't close it
      2. Do jre update
      3. Try to create any LocalDate/LocalDateTime/LocalTime object on running java app

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      If java application started with one environment, this environment should not be changed so exception is reproduced
      Outdated java installation folder cleared only after all JVM that started from it is are closed
      ACTUAL -
      JRE environment changed

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.ExceptionInInitializerError
      at java.time.ZoneRegion.ofId(Unknown Source) ~[?:1.8.0_112]
      at java.time.ZoneId.of(Unknown Source) ~[?:1.8.0_112]
      at java.time.ZoneId.of(Unknown Source) ~[?:1.8.0_112]
      at java.time.ZoneId.of(Unknown Source) ~[?:1.8.0_112]
      at java.util.TimeZone.toZoneId(Unknown Source) ~[?:1.8.0_112]
      at java.time.ZoneId.systemDefault(Unknown Source) ~[?:1.8.0_112]
      ... 93 more
      Caused by: java.time.zone.ZoneRulesException: Unable to load TZDB time-zone rules
      at java.time.zone.TzdbZoneRulesProvider.<init>(Unknown Source) ~[?:1.8.0_112]
      at java.time.zone.ZoneRulesProvider$1.run(Unknown Source) ~[?:1.8.0_112]
      at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]
      at java.time.zone.ZoneRulesProvider.<clinit>(Unknown Source) ~[?:1.8.0_112]
      ... 93 more
      Caused by: java.io.FileNotFoundException: C:\Program Files\Java\jre1.8.0_112\lib\tzdb.dat (Υ 󤠥�򱿠�򨠳�롧ᮭ󩠴�᪫)
      at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_112]
      at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_112]
      at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_112]
      at java.time.zone.TzdbZoneRulesProvider.<init>(Unknown Source) ~[?:1.8.0_112]
      at java.time.zone.ZoneRulesProvider$1.run(Unknown Source) ~[?:1.8.0_112]
      at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]
      at java.time.zone.ZoneRulesProvider.<clinit>(Unknown Source) ~[?:1.8.0_112]
      ... 93 more

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Initialize any LocalDate/LocalDateTime/LocalTime object immediately when application started

            pardesha Pardeep Sharma
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: