-
Notifications
You must be signed in to change notification settings - Fork 576
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
Segmentation Fault in Python using Development Build Wheels with existing OMPL installation #1121
Comments
Running on ubuntu 22.04.3 inside WSL2. |
Thanks for the report! Unfortunately, we don't really have access to a WSL environment to test with, and I've been unable to reproduce the issue with either script under native Linux (with Python 3.11; haven't tested 3.10 yet, but you said both had the same behavior). Could you please provide some more information about where the script segfaults? Both a Python line number and a core dump would be useful, but at least the Python line number will give us a starting point. |
In a fresh Ubuntu 22.04 Docker container running under a Linux host, I'm not able to reproduce a crash. Pasted below is the minimal setup I use. If you are able, it would be helpful for you to try the equivalent under WSL and see if your issue persists.
|
Hi! On ompl/demos/RigidBodyPlanning.py Line 87 in df058b7
On ompl/demos/RigidBodyPlanning.py Line 123 in df058b7
I don't have a core dump, but if you guide me I can get it for you. |
Using these steps, under WSL2, everything works as expected, no segmentation fault! |
Is your distro Ubuntu? A colleague of mine has tested it under native Ubuntu and found the same issue... |
It looks like pip-installed OMPL can clash with other versions of OMPL that are installed on your system. In a Probably some incompatible shared libraries getting crossed up. In the meantime I would recommend ensuring that you don't have OMPL installed via any other sources. |
I was originally testing on Arch Linux; I've since tried using Python 3.10 on native Ubuntu 22.04, and cannot reproduce the segfault. Since you said the instructions @kylc gave worked for you and did not cause a segfault, could you share the steps you use to install OMPL and run the scripts that does create the segfault? EDIT: Whoops, crossed comments with @kylc. He's probably right about the issue with multiple OMPL versions. If you try installing and running in a clean virtualenv, do you still see the segfault? |
Yeah, I still see the segfault in a clean virtualenv. I think the log below explains the issue, but I'm not really sure how we can work around it at build time. Maybe we should name the shared libs differently when built for Python wheels, e.g.
EDIT: Looks like the culprit is in the way OMPL tries to load the shared libs on its own. I guess this code might be needed for some install methods, but when pip-installed it isn't needed (and apparently causes problems). https://github.com/ompl/ompl/blob/main/py-bindings/ompl/__init__.py#L1-L17 |
Maybe related to this? #1103 (comment) |
I've managed to make it work. As @kylc mentioned, there may be some issue with pre-installed ompl. I had it installed using the script https://github.com/ompl/ompl/blob/main/install-ompl-ubuntu.sh.in . After I completely cleaned my system of this previous installation (including the python bindings) the pip install version now works. |
I know the problem is not solved, but for me it is already a great victory and something I can work with! I am truly grateful! Thank you! Please, let me know if you need my help to perform some test! |
@joao-pm-santos96 thank you for testing! |
Hi! |
@YukiCR unfortunately, no solution yet. This is tricky since using the ROS binaries always throws a wrench into any local installation of OMPL. |
Hello developers,
first things first: thank you for the amazing work with OMPL and thank you for start publishing the python wheels without the need to compile all the source code. I am truly grateful.
I know that the wheels are still in early development, but I've tested them and think I should report the issue that I am encountering. Both using python 3.10 and 3.11, following the instructions in #1103, I always receive a segmentation fault when running https://ompl.kavrakilab.org/RigidBodyPlanning_8py_source.html and https://ompl.kavrakilab.org/StateSampling_8py_source.html .
Let me know if I can help with something on the python side!
The text was updated successfully, but these errors were encountered: