SerCeMan / jnr-fuse

FUSE implementation in Java using Java Native Runtime (JNR)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compatibility with jnr-ffi 2.1.9

apetersson opened this issue · comments

apparently, there was a change inside NativeClosureManager (jnr-ffi) between version 2.1.9 and 2.1.7. by having web3j v 4.1.0 as a dependency, i accidentally bumped jnr-ffi to 2.1.9 which caused jnr-fuse to break (but only for readdir). Fixed this via a custom resolutionStrategy in my build.gradle. It would be nice to have compatibility with jnr-ffi 2.1.9

The cause is the call

        Field classLoaderField = NativeClosureManager.class.getDeclaredField("classLoader");

which happens in ClosureHelper, NativeClosureManager appears to have changed in its internal structure.

This is an issue because it is easy to accidentally bump jnr-ffi to 2.1.9 f.ex. when depending on other libs that declare it.

strongly related to #59 - a simple version bump is not sufficient.

Hey, @apetersson!

Thank you for the report, it should be fixed by #61. The PR is currently blocked on jnr/jnr-ffi#169.