Set LIBFFI_TMPDIR at startup (#80651) #80699
Merged
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.
Today if
libffi
cannot allocate pages of memory which are bothwriteable and executable then it will attempt to write code to a
temporary file. Elasticsearch configures itself a suitable temporary
directory for use by JNA but by default
libffi
won't find thisdirectory and will try various other places. In certain configurations,
none of the other places that
libffi
tries are suitable. With olderversions of JNA this would result in a
SIGSEGV
; since #80617 the JVMwill exit with an exception.
With this commit we use the
LIBFFI_TMPDIR
environment variable toconfigure
libffi
to use the same directory as JNA for its temporaryfiles if they are needed.
Closes #18272
Closes #73309
Closes #74545
Closes #77014
Closes #77053
Relates #77285
Co-authored-by: Rory Hunter [email protected]