Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-7581

Missing Europe/London timezome causes runtime errors

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 2.3.1
    • 2.3
    • None

    Description

      the timezones.properties has a missing timezone:
      Europe/London

      This means that on a system (like ours) where the default timezone of the VM in Europe/London then this happens:
      java.lang.StackOverflowError
      at java.util.HashMap.containsKey(HashMap.java:377)
      at com.atlassian.confluence.core.TimeZone.getInstance(TimeZone.java:37)
      at com.atlassian.confluence.core.TimeZone.getDefault(TimeZone.java:112)
      at com.atlassian.confluence.core.TimeZone.getInstance(TimeZone.java:39)
      at com.atlassian.confluence.core.TimeZone.getDefault(TimeZone.java:112)
      at com.atlassian.confluence.core.TimeZone.getInstance(TimeZone.java:39)

      on any page. Looking at the source of com.atlassian.confluence.core.TimeZone I note tht the timezones are loaded from a timezones.properties file.

      Europe/London is missing from this properties file.

      Adding Europe/London fixes the issue..

      Why not remove the properties file though,, and modify com.atlassian.confluence.core.TimeZone to be:

      private static Map loadTimeZones()
      {

      String[] timeZoneIDs = java.util.TimeZone.getAvailableIDs();
      Map result = new HashMap(timeZoneIDs.length);
      for (int i = 0; i < timeZoneIDs.length; i++)

      { String timeZoneID = timeZoneIDs[i]; result.put(timeZoneID, new TimeZone(timeZoneID)); }

      return result;
      }

      so that all timeones are loaded???

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              0e408036d1cc Alex Fishlock
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: