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

rviz: crash when mousing over a marker when it is deleted #1572

Open
Saki-Chen opened this issue Dec 17, 2020 · 1 comment
Open

rviz: crash when mousing over a marker when it is deleted #1572

Saki-Chen opened this issue Dec 17, 2020 · 1 comment

Comments

@Saki-Chen
Copy link

Saki-Chen commented Dec 17, 2020

You can try the python script below to generate a rectangle in rviz.
When you enable focus and move the cursor to it, rviz will crash with Segmentation fault.

Screenshot from 2020-12-17 22-51-14

OS: Ubuntu 18.04
ROS Distro: Melodic
Log:
[ INFO] [1608216576.247743363]: rviz version 1.13.15
[ INFO] [1608216576.247794502]: compiled against Qt version 5.9.5
[ INFO] [1608216576.247809674]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1608216576.251226409]: Forcing OpenGl version 0.
[ INFO] [1608216576.702971734]: Stereo is NOT SUPPORTED
[ INFO] [1608216576.703038874]: OpenGl version: 4.6 (GLSL 4.6).
Segmentation fault (core dumped)

some info generated by nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.95.01 Driver Version: 440.95.01 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce MX150 Off | 00000000:01:00.0 Off | N/A |
| N/A 74C P0 N/A / N/A | 486MiB / 2002MiB | 4% Default |
+-------------------------------+----------------------+----------------------+


import rospy
from visualization_msgs.msg import Marker
from geometry_msgs.msg import Point
if __name__ == "__main__":
    rospy.init_node("test_rviz")
    publisher = rospy.Publisher('/square_marker', Marker, queue_size=3)
    marker = Marker()
    marker.header.frame_id = 'map'
    marker.action = Marker.ADD
    marker.header.stamp = rospy.Time.now()
    marker.id = 1
    marker.type = Marker.LINE_STRIP
    marker.color.a = 1
    marker.color.g = 1
    marker.color.r = marker.color.b = 0
    marker.pose.position.x = marker.pose.position.y = marker.pose.position.z = 0
    marker.pose.orientation.w = 1
    marker.pose.orientation.x = marker.pose.orientation.y = marker.pose.orientation.z = 0
    marker.scale.x = marker.scale.y = 0.1
    marker.scale.z = 0.05
    marker.points.append(Point(0,0,0))
    marker.points.append(Point(0,1,0))
    marker.points.append(Point(1,1,0))
    marker.points.append(Point(1,0,0))
    marker.points.append(Point(0,0,0))
    while not rospy.is_shutdown():
        publisher.publish(marker)

@rhaschke rhaschke added the bug label Dec 17, 2020
@rhaschke
Copy link
Contributor

rhaschke commented Dec 17, 2020

I can confirm this bug using the nvidia driver, but not using the Mesa driver. Below is the backtrace. Unfortunately, there is no maintainer left, which can further debug or analyze this issue. Any help is welcome. I'm (again) suspecting the shader scripts in ogre-media/materials/*150. The segfault occurs for both, GLSL 1.2 and 1.5.

#0  0x00000000400b0cde in  ()
#1  0x00007fffed9957dd in  () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.450.80.02
#2  0x00007fffed9a9494 in  () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.450.80.02
#3  0x00007fffed51d65d in  () at /lib/x86_64-linux-gnu/libnvidia-glcore.so.450.80.02
#4  0x00007fffd8655a7b in Ogre::GLRenderSystem::_render(Ogre::RenderOperation const&) () at /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0
#5  0x00007ffff629116e in Ogre::SceneManager::renderSingleObject(Ogre::Renderable*, Ogre::Pass const*, bool, bool, Ogre::HashedVector<Ogre::Light*> const*) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#6  0x00007ffff6241679 in Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::QueuedRenderableVisitor*) const () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#7  0x00007ffff624178c in Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::QueuedRenderableVisitor*, Ogre::QueuedRenderableCollection::OrganisationMode) const () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#8  0x00007ffff628393a in Ogre::SceneManager::renderBasicQueueGroupObjects(Ogre::RenderQueueGroup*, Ogre::QueuedRenderableCollection::OrganisationMode) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#9  0x00007ffff62837d7 in Ogre::SceneManager::renderVisibleObjectsDefaultSequence() () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#10 0x00007ffff62954a7 in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#11 0x00007ffff60cfc3a in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#12 0x00007ffff625b805 in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#13 0x00007ffff625b612 in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#14 0x00007ffff625b363 in Ogre::RenderTarget::updateImpl() () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#15 0x00007ffff625bd18 in Ogre::RenderTarget::update(bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#16 0x00007ffff624590f in Ogre::RenderSystem::_updateAllRenderTargets(bool) () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#17 0x00007ffff627c51e in Ogre::Root::_updateAllRenderTargets() () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#18 0x00007ffff627c610 in Ogre::Root::renderOneFrame() () at /lib/x86_64-linux-gnu/libOgreMain.so.1.9.0

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

No branches or pull requests

2 participants