{"action":"created","issue":{"url":"https://api.github.com/repos/ros-visualization/rviz/issues/1192","repository_url":"https://api.github.com/repos/ros-visualization/rviz","labels_url":"https://api.github.com/repos/ros-visualization/rviz/issues/1192/labels{/name}","comments_url":"https://api.github.com/repos/ros-visualization/rviz/issues/1192/comments","events_url":"https://api.github.com/repos/ros-visualization/rviz/issues/1192/events","html_url":"https://github.com/ros-visualization/rviz/issues/1192","id":293452751,"node_id":"MDU6SXNzdWUyOTM0NTI3NTE=","number":1192,"title":"rviz segfault when using interactive markers and line_strip or line_list nvidia only","user":{"login":"rlober","id":3417094,"node_id":"MDQ6VXNlcjM0MTcwOTQ=","avatar_url":"https://avatars2.githubusercontent.com/u/3417094?v=4","gravatar_id":"","url":"https://api.github.com/users/rlober","html_url":"https://github.com/rlober","followers_url":"https://api.github.com/users/rlober/followers","following_url":"https://api.github.com/users/rlober/following{/other_user}","gists_url":"https://api.github.com/users/rlober/gists{/gist_id}","starred_url":"https://api.github.com/users/rlober/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlober/subscriptions","organizations_url":"https://api.github.com/users/rlober/orgs","repos_url":"https://api.github.com/users/rlober/repos","events_url":"https://api.github.com/users/rlober/events{/privacy}","received_events_url":"https://api.github.com/users/rlober/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-01T09:07:08Z","updated_at":"2019-09-23T15:58:33Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I am not sure how related this issue is to #1082 and #1185 so it may be a duplicate, but it seems more specific than those.\r\n\r\n## Issue\r\nOn a computer with nvidia graphics card/driver when you have any interactive markers in the scene and any regular line type markers (`LINE_LIST`, `LINE_STRIP`) when you click on the interactive marker, `rviz` segfaults (see below for function call trace).\r\n\r\n**This only happens with `LINE` type markers and is not a problem on non-nvidia computers.** \r\n\r\n## Setup info\r\n```\r\nubuntu 16.04\r\nnvidia driver: version 384.111\r\nros: kinetic\r\nrviz branch: kinetic-devel \r\nrviz commit: 16933c222112a10a77fe771b55cb7cf1e517928e\r\ncompiled against: Qt version 5.10.0 and OGRE version 1.9.0\r\nOpenGl version: 4.5\r\n```\r\n\r\n## How to replicate\r\nModify [line 53](https://github.com/ros-visualization/visualization_tutorials/blob/kinetic-devel/interactive_marker_tutorials/src/simple_marker.cpp#L53) of `interactive_marker_tutorials/src/simple_marker.cpp` to use the `frame_id`, `/my_frame`. I.e.\r\n\r\n```\r\nint_marker.header.frame_id = \"base_link\";\r\n```\r\nto\r\n```\r\nint_marker.header.frame_id = \"/my_frame\";\r\n```\r\nThis will allow the simple interactive marker to be displayed along with the markers from the [`points_and_lines.cpp` demo](https://github.com/ros-visualization/visualization_tutorials/blob/kinetic-devel/visualization_marker_tutorials/src/points_and_lines.cpp)\r\n\r\nRun these two nodes and add their visualization topics to the `rviz` scene, don't forget to change the `Fixed Frame` to `my_frame`.\r\n\r\nWhen you click on the interactive marker controls, rviz should segfault and crash. You may have to release the mouse click before the crash occurs.\r\n\r\n## gdb segfault call trace\r\n```\r\nThread 1 \"rviz\" received signal SIGSEGV, Segmentation fault.\r\n0x00000000400a2c6e in ?? ()\r\n(gdb) where\r\n#0  0x00000000400a2c6e in ?? ()\r\n#1  0x00007fffeab9a219 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111\r\n#2  0x00007fffeaba0d84 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111\r\n#3  0x00007fffea768a5e in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111\r\n#4  0x00007fffb40ca9c5 in Ogre::GLRenderSystem::_render(Ogre::RenderOperation const&) ()\r\n   from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0\r\n#5  0x00007ffff2dc87f7 in Ogre::SceneManager::renderSingleObject(Ogre::Renderable*, Ogre::Pass const*, bool, bool, Ogre::HashedVector<Ogre::Light*> const*) ()\r\n   from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#6  0x00007ffff2df2fb9 in Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::QueuedRenderableVisitor*) const () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#7  0x00007ffff2df3095 in Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::QueuedRenderableVisitor*, Ogre::QueuedRenderableCollection::OrganisationMode) const ()\r\n   from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#8  0x00007ffff2db18df in Ogre::SceneManager::renderBasicQueueGroupObjects(Ogre::RenderQueueGroup*, Ogre::QueuedRenderableCollection::OrganisationMode) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#9  0x00007ffff2db1757 in Ogre::SceneManager::renderVisibleObjectsDefaultSequence() ()\r\n   from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#10 0x00007ffff2dc7474 in Ogre::SceneManager::_renderScene(Ogre::Camera*, Ogre::Viewport*, bool) ()\r\n   from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#11 0x00007ffff2e03f51 in Ogre::Camera::_renderScene(Ogre::Viewport*, bool) ()\r\n---Type <return> to continue, or q <return> to quit---\r\n  -gnu/libOgreMain.so.1.9.0\r\n#12 0x00007ffff2da877a in Ogre::RenderTarget::_updateViewport(Ogre::Viewport*, bool) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#13 0x00007ffff2da85cb in Ogre::RenderTarget::_updateAutoUpdatedViewports(bool) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#14 0x00007ffff2da811e in Ogre::RenderTarget::updateImpl() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#15 0x00007ffff2da8ac4 in Ogre::RenderTarget::update(bool) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#16 0x00007ffff2e58e5f in Ogre::RenderSystem::_updateAllRenderTargets(bool) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#17 0x00007ffff2f6f4ba in Ogre::Root::_updateAllRenderTargets() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#18 0x00007ffff2f6f5a0 in Ogre::Root::renderOneFrame() () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0\r\n#19 0x00007ffff7aca394 in rviz::VisualizationManager::onUpdate() () from /home/ryan/ws/rviz_ws/install/lib/librviz.so\r\n#20 0x00007ffff7aec8f9 in rviz::VisualizationManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()\r\n   from /home/ryan/ws/rviz_ws/install/lib/librviz.so\r\n#21 0x00007ffff6a14bc9 in QMetaObject::activate(QObject*, int, int, void**) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#22 0x00007ffff6a213e7 in QTimer::timeout(QTimer::QPrivateSignal) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#23 0x00007ffff6a216b8 in QTimer::timerEvent(QTimerEvent*) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#24 0x00007ffff6a15adb in QObject::event(QEvent*) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#25 0x00007ffff701254c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Widgets.so.5\r\n#26 0x00007ffff7019897 in QApplication::notify(QObject*, QEvent*) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Widgets.so.5\r\n#27 0x00007ffff69e99f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#28 0x00007ffff6a3d08e in QTimerInfoList::activateTimers() () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#29 0x00007ffff6a3d871 in ?? () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#30 0x00007fffee475197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0\r\n#31 0x00007fffee4753f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0\r\n#32 0x00007fffee47549c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0\r\n#33 0x00007ffff6a3dbaf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()\r\n   from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#34 0x00007fffdd1c89a1 in ?? () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5XcbQpa.so.5\r\n#35 0x00007ffff69e826a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#36 0x00007ffff69f0da4 in QCoreApplication::exec() () from /home/ryan/Qt/5.10.0/gcc_64/lib/libQt5Core.so.5\r\n#37 0x00000000004012ab in main ()\r\n```"},"comment":{"url":"https://api.github.com/repos/ros-visualization/rviz/issues/comments/534165275","html_url":"https://github.com/ros-visualization/rviz/issues/1192#issuecomment-534165275","issue_url":"https://api.github.com/repos/ros-visualization/rviz/issues/1192","id":534165275,"node_id":"MDEyOklzc3VlQ29tbWVudDUzNDE2NTI3NQ==","user":{"login":"rhaschke","id":5376030,"node_id":"MDQ6VXNlcjUzNzYwMzA=","avatar_url":"https://avatars2.githubusercontent.com/u/5376030?v=4","gravatar_id":"","url":"https://api.github.com/users/rhaschke","html_url":"https://github.com/rhaschke","followers_url":"https://api.github.com/users/rhaschke/followers","following_url":"https://api.github.com/users/rhaschke/following{/other_user}","gists_url":"https://api.github.com/users/rhaschke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhaschke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhaschke/subscriptions","organizations_url":"https://api.github.com/users/rhaschke/orgs","repos_url":"https://api.github.com/users/rhaschke/repos","events_url":"https://api.github.com/users/rhaschke/events{/privacy}","received_events_url":"https://api.github.com/users/rhaschke/received_events","type":"User","site_admin":false},"created_at":"2019-09-23T15:58:33Z","updated_at":"2019-09-23T15:58:33Z","author_association":"CONTRIBUTOR","body":"I can confirm this behavior: AddressSanitizer reports access to a null pointer (in the nvidia libs).\r\nNo idea, how this is related to interacting with (clicking on) the marker."}}
{"actor":{"display_login":"rhaschke"}}