The openjfx native library cache path should be platform dependent

Johan Vos johan.vos at gluonhq.com
Thu Jan 20 08:25:46 UTC 2022


That sounds correct indeed. I filed
https://bugs.openjdk.java.net/browse/JDK-8280369 for this.
Thanks for reporting!

- Johan

On Thu, Jan 20, 2022 at 6:14 AM Glavo <zjx001202 at gmail.com> wrote:

> I noticed that openjfx packaged in jar caches native libraries in
> ~/.openjfx/cache/${version}, it is not related to the system and
> architecture.
>
> It should be noted that in fact, we can start programs with different
> architectures on the same system. A typical example is that Windows x86
> software can be run on the Windows amd64 platform.
> With the popularization of aarch64 architecture, this situation will become
> more common: The software of Windows x86 and Windows amd64 can be run on
> the Windows aarch64 platform, and the  software of MacOs x86 can be run on
> the MacOS aarch64.
>
> The native library file names of different schemas on the same system are
> usually the same, which will cause conflicts.
> For example, I tried to launch the same JavaFX application on my Windows
> amd64 machine with two jdks that for x86 architecture and amd64
> architecture at the same time, and it crashed:
>
>     https://paste.ubuntu.com/p/NZBK3pNrh7/
>
> On ARM machines, it is often necessary to run x86 applications through
> translators, and such crashes may be more common.
>
> I think openjfx should adjust the cache path of the native library, such as
> ~/.openjfx/cache/17.0.2/win-aarch64/.
> This can avoid crashes and avoid openjfx repeatedly decompressing the
> native library to cover the native libraries of other architectures.
>
> I don't have a JBS account. If you need to open an issue for this problem,
> please do it for me, thanks.
>


More information about the openjfx-dev mailing list