A bug in filesystem bootstrap (unix/ linux) prevents

Dawid Weiss dawid.weiss at gmail.com
Wed Jul 4 20:21:59 UTC 2012


> There is a similar bug:
> Bug 6795536 - No system start for file.encoding=x-SJIS_0213

Yeah... I looked at the sources in that package and there is at least
one more place which converts a String to bytes using getBytes(). This
seems to be a trivial fix in UnixFileSystem though. Anyway, bug ID for
this is:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7181721

Dawid

>
> In this case on Windows.
>
> -Ulf
>
>
> Am 04.07.2012 14:43, schrieb Dawid Weiss:
>
> Hi folks.
>
> Run the following with -Dfile.encoding=UTF-16:
>
> public class TestBlah {
>   public static void main(String []) throws Exception {
>     TimeZone.getDefault();
>   }
> }
>
> This on linux (and any unixish system I think) will result in:
>
> java.lang.ExceptionInInitializerError
> 	at java.nio.file.FileSystems.getDefault(FileSystems.java:176)
> 	at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:482)
> 	at sun.util.calendar.ZoneInfoFile$1.run(ZoneInfoFile.java:477)
> ...
>
> There is an encoding-sensitive part calling getBytes on the initial
> path (and this screws it up):
>
>     // package-private
>     UnixFileSystem(UnixFileSystemProvider provider, String dir) {
>         this.provider = provider;
>         this.defaultDirectory = UnixPath.normalizeAndCheck(dir).getBytes();
>         if (this.defaultDirectory[0] != '/') {
>             throw new RuntimeException("default directory must be
> absolute");
>         }
>
> Filed a bug for this but don't have the ID yet.
>
> Dawid
>
>
>



More information about the core-libs-dev mailing list