Comment 40 for bug 49068

Revision history for this message
Mark Renouf (mark-renouf) wrote :

Looks like this was fixed in Java 6u18!

http://java.sun.com/javase/6/webnotes/6u18.html
 ==> 6456628 java classes_util_i18n (tz) Default timezone is incorrectly set occasionally on Linux

(Sun Bug #6456628 is now listed as "Fix Shipped")

Java 6u20 is available for Ubuntu 10.04 as of today!

Upgradeable: sun-java6-jdk
    6-16-0ubuntu1.9.04 (-58.0MB)
    6.20dlj-1ubuntu2 (+62.5MB)

sun-java6-plugin_6.20dlj-1ubuntu2_i386.deb
sun-java6-javadb_6.20dlj-1ubuntu2_all.deb
sun-java6-jdk_6.20dlj-1ubuntu2_i386.deb
sun-java6-bin_6.20dlj-1ubuntu2_i386.deb
sun-java6-jre_6.20dlj-1ubuntu2_all.deb
sun-java6-source_6.20dlj-1ubuntu2_all.deb

# java -version
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode)

# apt-get update
# sudo apt-get install sun-java6-bin sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin sun-java6-source
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  sun-java6-demo openjdk-6-doc sun-java6-fonts
The following packages will be upgraded:
  sun-java6-bin sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin sun-java6-source
6 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 84.7MB of archives.
After this operation, 6,291kB of additional disk space will be used.

....

# java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)

### To test: ###

# ls -l /etc/localtime
-rw-r--r-- 1 root root 3519 2010-04-11 16:40 /etc/localtime

(I've also still got the /usr/share/zoneinfo/localtime => /etc/localtime symlink in place, as well as 'posixrules', which is a copy of my selected zoneinfo, "US/Eastern" a.k.a. "America/New_York")

# vi ShowDate.java
====SNIP=====
import java.util.Date;

public class ShowDate {
  public static void main(String[] arg) {
    System.out.println(new Date());
  }
}
====SNIP=====

# javac ShowDate.java
# java ShowDate
# date -u
Thu Apr 22 16:30:32 UTC 2010
# date
Thu Apr 22 12:30:34 EDT 2010
# java ShowDate
Thu Apr 22 12:30:44 EDT 2010

# date -s 20100301
Mon Mar 1 00:00:00 EST 2010

# java ShowDate
Mon Mar 01 00:00:05 EST 2010

# date -s 20100315
Mon Mar 15 00:00:00 EDT 2010

# java ShowDate
Mon Mar 15 00:00:02 EDT 2010

# sudo date -s 20100101
Fri Jan 1 00:00:00 EST 2010

# java ShowDate
Fri Jan 01 00:00:01 EST 2010

Can anyone else confirm the issue is resolved?