RFR: 8222455: JavaFX error loading glass.dll from cache

Marius Hanl mhanl at openjdk.java.net
Tue Oct 26 12:18:23 UTC 2021


This problem can happen when using multiple instances with different jfx early access (ea) versions.

Example: 
Instance 1 uses 18-ea+4 and Instance 2 uses 18-ea+1. 
Instance 1 is started (and will cache and use libraries), then instance 2. 
Now instance 2 detects via a hash comparison that the cached libraries are not the same as the supplied ones. 
With this information instance 2 tries to delete the old libraries but fails while doing so (as instance 1 uses them currently) and will terminate right after.

The problem here is that instance 1 and 2 are using the same cache folder: **18-ea**. This is because the `NativeLibLoader` uses the `javafx.version` property for determining the folder name, which in case of an ea version will always be **18-ea** (for all ea versions starting with 18 obviously).

Fix as also mentioned in the ticket is to use the `javafx.runtime.version` property instead. 
With this the folders will be named 18-ea+1 and 18-ea+4.

-------------

Commit messages:
 - 8222455: Using javafx.runtime.version as cache directory name so that different ea versions use the same folder

Changes: https://git.openjdk.java.net/jfx/pull/654/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=654&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8222455
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jfx/pull/654.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/654/head:pull/654

PR: https://git.openjdk.java.net/jfx/pull/654


More information about the openjfx-dev mailing list