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

Tim Bell tim.bell at oracle.com
Thu Apr 9 16:08:09 UTC 2020


Erik:

Looks good to me as well.

Tim

> 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