ADDITIONAL SYSTEM INFORMATION :
Windows 10 x64
OpenJDK 13, OpenJDK 14
A DESCRIPTION OF THE PROBLEM :
We have a client app bundled with OpenJDK (and used with thousand of users). It installs itself inside the C:\User\username\AppData\Local directory.
Unfortunately some users have special characters (like UTF-8 0xC5 0x91 "��������" and 0xC5 0xB1 "��������") in their username which is in the username folder too.
java.exe is unable to start any app, even "java -version" does not work in this environment.
REGRESSION : Last worked in version 12
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Set "Language for non-Unicode programs" in Windows to "Hungarian".
Create a directory whose name contains an UTF-8 0xC5 0x91 ("��������") character.
Put some OpenJDK installations into this directory and run the commands below:
C:\Jen��������2>jdk-10.0.2\bin\java -version
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment 18.3 (build 10.0.2+13)
OpenJDK 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
C:\Jen��������2>jdk-12.0.2\bin\java -version
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
C:\Jen��������2>jdk-13.0.2\bin\java -version
Error occurred during initialization of VM
Failed setting boot class path.
C:\Jen��������2>jdk-14\bin\java -version
Error occurred during initialization of VM
Failed setting boot class path.
As you can see it was working with JDK12 and before but fails with JDK13 and JDK14.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
JDK 13 and JDK 14 should show their version number too.
ACTUAL -
JDK 13 and JDK 14 fail to start and produces the error message above.
CUSTOMER SUBMITTED WORKAROUND :
Renaming the folder to a name without special character fixes the issue:
C:\Jeno2>jdk-14\bin\java -version
openjdk version "14" 2020-03-17
OpenJDK Runtime Environment (build 14+36-1461)
OpenJDK 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)
Anyway, asking dozens of users to change their user folder in Windows seems impossible.
FREQUENCY : always