JDK-8187043 : JavaFX fails to launch on some Windows platforms due to missing VS2017 libraries
  • Type: Bug
  • Component: javafx
  • Sub-Component: graphics
  • Affected Version: 9.0.1,10
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-08-31
  • Updated: 2018-05-02
  • Resolved: 2017-09-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10 JDK 9
10Fixed 9.0.1Fixed
Related Reports
Relates :  
Relates :  
Description
On Windows 8 and 10, when launching a JavaFX panel, we got the following error:

Current Java Version Supported.
Graphics Device initialization failed for :  d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing
QuantumRenderer: no suitable pipeline found
 
Comments
Verified in 9.0.1 b10 and working as expected.
29-09-2017

Changeset: a285ae771ca2 Author: kcr Date: 2017-09-05 08:12 -0700 URL: http://hg.openjdk.java.net/openjfx/10-dev/rt/rev/a285ae771ca2 8187043: JavaFX fails to launch on some Windows platforms due to missing VS2017 libraries Reviewed-by: prr, mbilla
06-09-2017

+1
06-09-2017

Webrev: http://cr.openjdk.java.net/~kcr/8187043/webrev.00/
06-09-2017

This bug will happen on any Windows machine (Win 7, Win 8, or Win 10) that does not already have the VS2017 runtime installed on the system. If you run any FX program using the default java launcher (found in /ProgramData/Oracle/Java/javapath), which points to the installed jre, it will fail to implicitly load the FX runtime libraries because the actual JRE/bin directory will not be in the PATH. In this case we need to rely on the same mechanism that we use in 8u to preload the libraries. I note that JDK9 GA also preloaded at least the VisualStudio libraries, but that code was removed for 10 and 9.0.3. I was able to make this fail on my local Windows 10 and Windows 7 machines by removing msvcp140.dll from \Windows\System32 The fix is to apply the code from 8u to 10 and 9.x to preload the needed Microsoft libraries.
05-09-2017

b03 was when the new WebKit and the compiler upgrade went in. Additional code was added to 8u151 (and 8u152) to initialize the libraries; this was thought not to be needed for JDK 9 or 10, so I suspect that this is the cause. I'm looking into this now.
01-09-2017

In JDK 9.0.3, issue started from build b03 onwards
01-09-2017

Reproducibiliy in different java versions: JDK 9.0.3 build b08 - FAILED JDK 9 build 181 - PASSED JDK 8u152 build b14 - PASSED JDK 8u151 build b11 - PASSED
01-09-2017

please re-open after getting answers on below questions - but this is Incomplete now
01-09-2017

It would also be good to know whether it affects 8u151.
31-08-2017

Jim, does it affect JDK 9 b181 ?
31-08-2017