[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8280369: native library cache should be platform/arch specific
From:       Johan Vos <jvos () openjdk ! java ! net>
Date:       2022-03-29 9:45:50
Message-ID: NJCIHd3EMTBI_cLhUfc1NpRnMBBhKyo9vUnlyio_NOc=.16cb0f42-25f2-438c-ae17-aea283145d77 () github ! com
[Download RAW message or body]

On Fri, 25 Mar 2022 18:12:23 GMT, Glavo <duke@openjdk.java.net> wrote:

> Currently, OpenJFX extracts the native library into a local folder and loads it \
> when it is not part of the JRE. 
> Now we have a notable problem with the fact that a platform may actually run \
> programs of multiple CPU architectures. 
> Most commonly, 32-bit x86 applications can be executed on Windows AMD64. In \
> addition to this, ARM machines may also execute AMD64 programs by transpiling. 
> For OpenJFX of different architectures on the same system, their native libraries \
> have the same file name, but their contents are different. Since they will try to \
> unpack the native library into the same folder, this will cause file conflicts. 
> A practical example is when I run the same JavaFX application with both 32-bit and \
> 64-bit Java on a Windows AMD64 platform, and the application that starts later \
> crashes because it cannot unzip the native libraries: 
> Crash logs (The length exceeds the GitHub limit): \
> https://paste.ubuntu.com/p/NZBK3pNrh7/ 
> Here I avoid the problem by adding `os.arch` to the cache path. 
> 
> I ran the tests on Ubuntu 20.04 after the modification and no tests were broken.

Marked as reviewed by jvos (Reviewer).

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic