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

Failure to initialize JVM when specifying -Dfile.encoding=iso-2022-cn on ubuntu 14.04

XMLWordPrintable

      FULL PRODUCT VERSION :
      java version "1.8.0_102"
      Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
      Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Ubuntu 14.04
      Linux XXX 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

      Did NOT see this problem on windows (Windows 7/6.1.7601)

      A DESCRIPTION OF THE PROBLEM :
      Error occurred during initialization of VM
      java.lang.UnsupportedOperationException
      at sun.nio.cs.ext.ISO2022_CN.newEncoder(ISO2022_CN.java:76)
      at sun.nio.cs.StreamEncoder.<init>(StreamEncoder.java:176)
      at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:59)
      at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:111)
      at java.io.PrintStream.<init>(PrintStream.java:104)
      at java.io.PrintStream.<init>(PrintStream.java:151)
      at java.lang.System.newPrintStream(System.java:1148)
      at java.lang.System.initializeSystemClass(System.java:1192)

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      javac Test.java (simple hello world app) (see source code below
      java -Dfile.encoding=iso-2022-cn Test

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      JVM initializes and runs,
      prints a blank line
      ACTUAL -
      Error occurred during initialization of VM
      java.lang.UnsupportedOperationException
      at sun.nio.cs.ext.ISO2022_CN.newEncoder(ISO2022_CN.java:76)
      at sun.nio.cs.StreamEncoder.<init>(StreamEncoder.java:176)
      at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:59)
      at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:111)
      at java.io.PrintStream.<init>(PrintStream.java:104)
      at java.io.PrintStream.<init>(PrintStream.java:151)
      at java.lang.System.newPrintStream(System.java:1148)
      at java.lang.System.initializeSystemClass(System.java:1192)

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.lang.UnsupportedOperationException
      at sun.nio.cs.ext.ISO2022_CN.newEncoder(ISO2022_CN.java:76)
      at sun.nio.cs.StreamEncoder.<init>(StreamEncoder.java:176)
      at sun.nio.cs.StreamEncoder.forOutputStreamWriter(StreamEncoder.java:59)
      at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:111)
      at java.io.PrintStream.<init>(PrintStream.java:104)
      at java.io.PrintStream.<init>(PrintStream.java:151)
      at java.lang.System.newPrintStream(System.java:1148)
      at java.lang.System.initializeSystemClass(System.java:1192)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      class Test
      {
          public static void main(String args[])
          {
              System.out.println("");
          }
      }

      The critical part of the repro is to use "-Dfile.encoding=iso-2022-cn" when launching.
      This problem doesn't occur with iso-2022-jp


      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      No workaround.
      Do not use files that would be dependent on -Dfile.encoding=iso-2022-cn

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: