Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting a "Segmentation Fault Core dumped" Error when trying to import open3d build from source on arm64 jetson #6974

Open
3 tasks done
RobinWolf opened this issue Sep 18, 2024 · 0 comments
Labels
bug Not a build issue, this is likely a bug.

Comments

@RobinWolf
Copy link

Checklist

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

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

- 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

@RobinWolf RobinWolf added the bug Not a build issue, this is likely a bug. label Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Not a build issue, this is likely a bug.
Projects
None yet
Development

No branches or pull requests

1 participant