Disable jemalloc on macos due to potential UDF FFI allocation inconsistencies #750
+2
−0
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.
In the UDF FFI pathway, we rely on allocating memory in the host which is freed in the plugin and vice-versa. This is reliable on Linux with both the standard allocator and jemalloc (which we introduced in #719 for its improved performance and profiling capabilities). However, on MacOS this approach has the potential to segfault with jemalloc:
This occurs when accessing the plugin-allocated memory on the host. On Linux the same allocator will be used in FFI code and in the host code, but that does not appear to be the case for darwin; I believe that on macos the UDF is using the system allocator while the host is using jemalloc.
There may be a path forward for jemalloc on macos, but since most of the benefits will be in production on linux the fastest path here seems to be to disable it on mac.