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

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

Bug description:

Here is the suggested fix:

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:
          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
          size_t getLastErrorString(char *buf, size_t len)

The bug contains the attachment
that summarize the fix result in comparison with original implementation.


More information about the core-libs-dev mailing list