Fatal Python error: Segmentation fault
Current thread 0x00000001028bc580 (most recent call first):
File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 1173 in create_module
File "<frozen importlib._bootstrap>", line 565 in module_from_spec
File "<frozen importlib._bootstrap>", line 666 in _load_unlocked
File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
File "/Users/sseibert/armconda3/envs/arrowtest/lib/python3.9/site-packages/pyarrow/__init__.py", line 63 in <module>
File "<frozen importlib._bootstrap>", line 228 in _call_with_frames_removed
File "<frozen importlib._bootstrap_external>", line 850 in exec_module
File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
File "<string>", line 1 in <module>
Segmentation fault: 11
Using lldb, you can dig into the C stack to see where the segfault happens:
The _mi_process_init function is part of mimalloc. The most straightforward fix is to disable mimalloc in the build process, which is what this PR does.
The URL for the Arrow source no longer works (apparently old versions are moved to archive.apache.org), so this PR also fixes that.
I discovered this segfault when trying to use pyarrow on osx-arm64:
producing the result:
Using lldb, you can dig into the C stack to see where the segfault happens:
The
_mi_process_init
function is part ofmimalloc
. The most straightforward fix is to disable mimalloc in the build process, which is what this PR does.The URL for the Arrow source no longer works (apparently old versions are moved to
archive.apache.org
), so this PR also fixes that.