Getting a "Segmentation Fault Core dumped" Error when trying to import open3d build from source on arm64 jetson
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](https://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](https://www.open3d.org/docs/release/) and the [latest documentation](https://www.open3d.org/docs/latest/) (for `main` branch).
### Describe the issue
I want to use Open3D with GPU support on my Nvidia Jetson NX (Jetpack 5.1) inside a Docker Container based on Nvidias L4T Image "nvidia/l4t-pytorch:r35.2.1-pth2.0-py3"
I followed the build tutorial from the official website for ARM64: https://www.open3d.org/docs/release/arm.html
The Container was build and runs sucessfully, but everytime i want to import open3d from my pythn3 enviroment this error occurs:
_Reported error: /usr/local/lib/python3.8/dist-packages/open3d/cuda/libOpen3D.so.0.18: cannot allocate memory in static TLS block._
I tried the fix which was mentioned in some other issues here regarding this problem. But adding the .so to the LF_PRELOAD with this command :
_export LD_PRELOAD=$(ls /usr/local/lib/python3.8/dist-packages/open3d/cuda/pybind.cpython-38-aarch64-linux-gnu.so):$LD_PRELOAD_
results in a another error:
_Segmentation fault (core dumped)_
where Python is basicly completely down.
Im thankful for any answers !
### Steps to reproduce the bug
```python
use this dockerfile command:
RUN cd Open3D && \
mkdir build && \
cd build && \
cmake \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_GUI=ON \
-DBUILD_PYTHON_MODULE=ON \
-DBUILD_CUDA_MODULE=ON \
-DPython3_EXECUTABLE=/usr/bin/python3.8 \
#-DBUILD_WITH_CUDA_STATIC=OFF \
#-DENABLE_CACHED_CUDA_MANAGER=ON \
#-DBUILD_COMMON_CUDA_ARCHS=ON \
#-DDEVELOPER_BUILD=ON \
.. && \
make -j$(nproc) && \
make install-pip-package -j$(nproc)
```
### Error message
root@fft-jetson:/home/3dbinpick/workspace# python3 -W default -c "import open3d"
/usr/local/lib/python3.8/dist-packages/open3d/__init__.py:63: ImportWarning: Open3D was built with CUDA support, but Open3D CPU Python bindings were not found. Open3D will not work on systems without CUDA devices.
warnings.warn(
/usr/local/lib/python3.8/dist-packages/open3d/__init__.py:96: ImportWarning: Open3D was built with CUDA support, but an error ocurred while loading the Open3D CUDA Python bindings. This is usually because the CUDA libraries could not be found. Check your CUDA installation. Falling back to the CPU pybind library. Reported error: /usr/local/lib/python3.8/dist-packages/open3d/cuda/libOpen3D.so.0.18: cannot allocate memory in static TLS block.
warnings.warn(
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/open3d/__init__.py", line 109, in
from open3d.cpu.pybind import (
ModuleNotFoundError: No module named 'open3d.cpu'
or
root@fft-jetson:/home/3dbinpick/workspace# python3 -W default -c "import open3d"
Segmentation fault (core dumped)
### Expected behavior
the open3d libary imports with GPU support on my Jetson
### Open3D, Python and System information
```markdown
- Operating system: Ubuntu 20.04 Nvidia Jetpack 5.1 with L4T-pytorch Docker Container
- Python version: Python 3.8 / output from `import sys; print(sys.version)`
- Open3D version: output from python: `print(open3d.__version__)`
- System architecture: arm64 / jetson
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): clang 7.0
```
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.