Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

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

Open RobinWolf opened this issue 5 months ago • 0 comments

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 avatar Sep 18 '24 11:09 RobinWolf