RFR: JDK-8242463: ProcessTools.createNativeTestProcessBuilder() in testlib needs jdk/bin on PATH on Windows

Erik Joelsson erik.joelsson at oracle.com
Thu Apr 9 15:15:54 UTC 2020


The test 
open/test/hotspot/jtreg/testlibrary_tests/process/TestNativeProcessBuilder.java 
fails when building the JDK with VS2019. More specifically, it fails if 
the JDK under test is built with a different version of VS than the boot 
JDK.

The cause of this is in how the PATH is setup. ProcessTools adds the 
jdk/bin/server dir to PATH so that jvm.dll can be loaded, but it omits 
the jdk/bin dir where the VS runtime dlls are located. If the boot JDK 
happens to have the same runtime dlls (or if the OS has them installed) 
those may be on the path and save the situation accidentally, which is 
what regularly happens in Oracle automated testing today.

I think the proper fix to this is to add jdk/bin to the PATH on Windows, 
and also to change the order so that jdk/bin and jdk/bin/server are 
prepended rather than appended to the PATH. This way we minimize the 
risk of the environment affecting tests in any way.

Bug: https://bugs.openjdk.java.net/browse/JDK-8242463

Webrev: http://cr.openjdk.java.net/~erikj/8242463/webrev.01/index.html

/Erik



More information about the hotspot-runtime-dev mailing list