Review request: JDK-8016579 (process) IOException thrown by ProcessBuilder.start() method is incorrectly encoded

Alexey Utkin alexey.utkin at oracle.com
Mon Jul 15 09:41:02 UTC 2013


Bug description:
     https://jbs.oracle.com/bugs/browse/JDK-8016579
     http://bugs.sun.com/view_bug.do?bug_id=8016579

Here is the suggested fix:
http://cr.openjdk.java.net/~uta/openjdk-webrevs/JDK-8016579/webrev.00/

Summary:
We have THREE locales in action:
1. Thread default locale - dictates UNICODE-to-8bit conversion
2. OS locale that defines the message localization
3. The file name locale

Each locale could be an extended locale, that means that text cannot be 
mapped to 8bit sequence without multibyte encoding. VM is ready for 
that, if text is UTF-8.
The suggested fix does the work right from the beginning.

Unicode version of JVM call:
      hotspot/src/os/windows/vm/os_windows.cpp:
          size_t os::lasterror(char* buf, size_t len)
was used as prototype for Unicode error message getter. It has to be 
fixed accordingly as well as
      jdk/src/windows/native/java/io/io_util_md.c
          size_t getLastErrorString(char *buf, size_t len)

The bug contains the attachment
https://jbs.oracle.com/bugs/secure/attachment/14581/JDK-8016579.txt
that summarize the fix result in comparison with original implementation.

Regards,
-uta



More information about the core-libs-dev mailing list