On Fri, 29 Sep 2023 10:40:52 GMT, Florian Kirmaier <fkirma...@openjdk.org> wrote:
> The format of the timestamp has changed to ISO 8601. This contains the “:” > Character. > A copy of the dll is saved at <home>/.openjfx/cache/" + jfxVersion + "/" + > arch . > On Windows, the character ‘:’ is invalid in files, causing internal errors. > > This only happens on developer/non-hudson builds, because on hudson-builds, > the timestamp is omitted. > > I just replaced the disallowed character when creating the native library. I found it. The Java runtime version (`javafx.runtime.version`) is reconstructed again at runtime. The new ISO 8601 build timestamp causes the runtime to create an invalid version string. See the [static initializer](https://github.com/openjdk/jfx/blob/master/modules/javafx.base/src/main/version-info/VersionInfo.java#L127) in the `VersionInfo.java` file: // The static initializer composes the VERSION and RUNTIME_VERSION strings static { String tmpVersion = RELEASE_VERSION; // Construct the VERSION string adding milestone information, // such as beta, if present. // Note: RELEASE_SUFFIX is expected to be empty for fcs versions tmpVersion += RELEASE_SUFFIX; VERSION = tmpVersion; // Append the RUNTIME_VERSION string that follow the VERSION string tmpVersion += "+" + PROMOTED_BUILD_NUMBER; if (getHudsonJobName().length() == 0) { // Non hudson (developer) build tmpVersion += "-" + BUILD_TIMESTAMP; } RUNTIME_VERSION = tmpVersion; } I missed that when I changed the build timestamp to use ISO 8601. The code shouldn't be writing one `java.runtime.version` to the properties file while using a different string at runtime. I can follow up by creating another bug report and pull request to fix this error at its source. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1251#issuecomment-1741236596