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

[BUG] Segmentation Fault during solver.solve in Python run #194

Open
nicolaoe opened this issue Sep 30, 2024 · 3 comments
Open

[BUG] Segmentation Fault during solver.solve in Python run #194

nicolaoe opened this issue Sep 30, 2024 · 3 comments

Comments

@nicolaoe
Copy link

nicolaoe commented Sep 30, 2024

While running a simple Python script, the solver crashes with a segmentation fault. It happens using the teaserpp_example.py and teaser_python_ply.py too. At installation, all ctest passed successfully. Reinstalling from the develop branch did not solve the problem, and running the script with OMP_NUM_THREADS=12 (or even 1) still produces a segmentation fault at the solver.solve step.

The Python script is run with Python3 on Ubuntu 22.04.5 from a virtual environment with numpy==2.1.1, open3d==0.18.0, teaserpp_python==1.0.0. The machine has 24 cores and 135 GB RAM, so memory overload should not be the issue. An example of command that produces a segmentation fault is (run from the folder /TEASER-plusplus-develop/python/teaserpp_python/): OMP_NUM_THREADS="12" python3 ./teaserpp_example.py
image

I would appreciate it if you could give me an idea of what could go wrong and how to solve this issue.

Edit:
After further debugging, I found that in the example teaser_python_3dsmooth.py, the segmentation fault was triggered at the line 267: frag1.data = frag1_desc.T
The problem here might be writing to the o3d.pipelines.registration.Feature()? With Python3.10.12, it happens with open3d0.18.0, open3d0.17.0 and open3d0.16.0. I could not downgrade open3d further. Did someone find a solution for this?

@jingnanshi
Copy link
Member

I would suggest try cloning the data and write it to frag1.data

@Cuberkk
Copy link

Cuberkk commented Jan 20, 2025

Hi guys,
I encountered the same problem. And it looks like the problems occur when executing the function execute_teaser_global_registration, more specifically line 236: teaserpp_solver.solve(source, target).
I tried both on my mac and a linux computer and encountered the same problem. I would appreciate @nicolaoe or @jingnanshi can share the solution if the problem is solved!!

@jingnanshi
Copy link
Member

@Cuberkk do you mind testing a bit on your side? See whether the same behaviors occur with small number of points or high number of points, etc..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants