-
-
Notifications
You must be signed in to change notification settings - Fork 467
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
Crash while constructing rviz::shape Cube #1478
Comments
I have seen similar (OGRE / OpenGL) errors in a different context before. For sure, it's not related to rviz::Shape::Cube. Could you try the noetic-devel branch from here with a more recent Ogre version (> 1.12)? |
How do I install a separate RVIZ version? I cloned the repo you mentioned and build it. So far so good. But when I run RVIZ, I still get the old version.
|
You just need to source your workspace. |
This is what I did. I cloned your linked repo into my actual catkin workspace and build it with |
You also need to build a newer Ogre version (first!) from: https://github.com/OGRECave/ogre. |
Ok, I managed to build OGRE on my machine after some while. But I still struggling with the correct libzzip when I build rviz. Any ideas? The whole build process seems to be not well documented.
|
I remember having issues like these as well. I think, I forced ogre to use the system library in /usr/lib/x86_64-linux-gnu/libzzip.so, using |
This I already tried. Still same issues. |
Sorry, I'm afraid I cannot help then anymore. |
Is there any plan to officially update rviz and OGRE? |
Releasing a new Ogre version into the Ubuntu system is a tedious process, which @simonschmeisser started for the upcoming Ubuntu 20.04. I'm not sure the Ubuntu maintainer team accepted this request... If so, the plan is to switch to the new Ogre version in Noetic. |
the process for updating packages is to first get them updated in Debian and then have them pulled into Ubuntu. Since we went for a parallel installation ogre-1.12 is considered a new package and currently sits in the NEW queue for more than a month. I am told there is no way to push things. More on topic, your crash happens in thread 15 which I assume is not the main gui thread. Ogre and rviz are not really thread-safe. You could try adding some blocking/unblocking before and after you add to the scene. Or you could try using Qt's mechanisms and put the function into a SLOT which you call from your callback function. Either by emitting a SIGNAL or by using QObject::invokeMessage ( queued connection). Your slot will then be called in the event loop of the main thread (ie between rendering) |
@simonschmeisser, thanks for pointing out the potential threading issue. Indeed the issue occurs in the thread serving the threaded callback queue. |
Thank you @simonschmeisser and @rhaschke for the detailed feedback. Finally, I solved the issue by introducing the SIGNAL/SLOT mechanism. Nevertheless, if you strictly follow the tutorials on ROS/RVIZ tutorials this solution is not obvious. Maybe we should adopt the tutorials as well. |
Glad that we could help you! We'll happily review PRs for the tutorials! |
You are welcome to file PRs to improve the tutorial(s). Hope, your issue is resolved. Closing this issue for now. |
I create multiple ''rviz::shape' instances in my own RVIZ Plugin.
So far so good. Everything works as expected. As soon as I change from Sphere to Cube it crashed in the first
new
call with a segmentation fault.GDB Backtrace
https://gist.github.com/SvenMuc/551a02468768953a4b83d054b1f95603
Console Log with OGRE debug output
https://gist.github.com/SvenMuc/6370aacad3d4618930d72c121cee2df4
Your environment
The text was updated successfully, but these errors were encountered: