Need to try all paths listed by 'java.library.path' before throwing UnsatisfiedLinkError #1136
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I believe this could be the fix for #438
The code in :
graal/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/NativeLibrarySupport.java
Lines 91 to 95 in cbadcf6
is able to deal with the requirement to list multiple paths for the java.library.path system property, but then the code attempting to load the libraries is expecting to have "false" returned on failure from one path, so to try the next path.
However the failed attempt to load the library from the first path immediately causes an
UnsatisfiedLinkError
to be thrown, so the additional paths are never tested.see also:
I'd be happy to add an integration test, but I'm not familiar with how you might prefer something like this to be structured. If you could point me to something similar I'd be glad to learn and try putting one together.
Thanks