Skip to content

rviz2 segfaults in GLRenderSystem::initConfigOptions() #1661

@ymollard

Description

@ymollard

Generated by Generative AI

No response

Operating System:

6.8.0-100-generic #100-Ubuntu x86_64 (Ubuntu Noble)

ROS version or commit hash:

Jazzy

RMW implementation (if applicable):

No response

RMW Configuration (if applicable):

No response

Client library (if applicable):

No response

'ros2 doctor --report' output

Steps to reproduce issue

RViz2 does not start and segfaults immediately at startup on a very fresh install of Ubuntu Noble + Jazzy from today.

My GPU is AMD Radeon RX 6400 but I'm not sure that this is relevant because even LIBGL_ALWAYS_SOFTWARE=1 rviz2 crashes the same way.
I tried other values for OGRE_RTT_MODE as suggested here with no different outcome.
The segfault pops from in GLRenderSystem::initConfigOptions()

Expected behavior

~$ rviz2 opens a new window.

Actual behavior

~$ rviz2 segfaults with the following backtrace:

Core was generated by `rviz2'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000076e7d61685e0 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /lib/x86_64-linux-gnu/libstdc++.so.6
[Current thread is 1 (Thread 0x76e7d0b43b80 (LWP 12310))]
(gdb) bt
#0  0x000076e7d61685e0 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x000076e768188f86 in ??? ()
    at /opt/ros/jazzy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.10
#2  0x000076e768142703 in Ogre::GLRenderSystem::initConfigOptions() ()
    at /opt/ros/jazzy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.10
#3  0x000076e76814319e in Ogre::GLRenderSystem::GLRenderSystem() ()
    at /opt/ros/jazzy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.10
#4  0x000076e768143323 in ??? ()
    at /opt/ros/jazzy/opt/rviz_ogre_vendor/lib/OGRE/RenderSystem_GL.so.1.12.10
#5  0x000076e7d5a73cec in Ogre::Root::installPlugin(Ogre::Plugin*) ()
    at /opt/ros/jazzy/opt/rviz_ogre_vendor/lib/libOgreMain.so.1.12.10
#6  0x000076e7d75833b6 in rviz_rendering::RenderSystem::loadOgrePlugins() ()
    at /opt/ros/jazzy/lib/librviz_rendering.so
#7  0x000076e7d75869b6 in rviz_rendering::RenderSystem::RenderSystem() ()
    at /opt/ros/jazzy/lib/librviz_rendering.so
#8  0x000076e7d7586bed in rviz_rendering::RenderSystem::get() ()
    at /opt/ros/jazzy/lib/librviz_rendering.so
#9  0x000076e7d7586ccf in rviz_rendering::RenderWindowImpl::RenderWindowImpl(QWindow*) ()
    at /opt/ros/jazzy/lib/librviz_rendering.so
#10 0x000076e7d7590b79 in rviz_rendering::RenderWindow::RenderWindow(QWindow*) () at /opt/ros/jazzy/lib/librviz_rendering.so
#11 0x000076e7d7742ff3 in rviz_common::RenderPanel::RenderPanel(QWidget*) () at /opt/ros/jazzy/lib/librviz_common.so
#12 0x000076e7d777e20c in rviz_common::VisualizationFrame::initialize(std::weak_ptr<rviz_common::ros_integration::RosNodeAbstractionIface>, QString const&) ()
    at /opt/ros/jazzy/lib/librviz_common.so
#13 0x000076e7d77879c7 in rviz_common::VisualizerApp::init(int, char**) () at /opt/ros/jazzy/lib/librviz_common.so
#14 0x000058fb48f82b2a in main (argc=1, argv=0x7ffce7f639e8) at /usr/src/ros-jazzy-rviz2-14.1.19-1noble.20260126.201007/src/main.cpp:90

Additional information

Update: here is what I tried later:

  • Start RViz2 from a Docker container that works properly on other machines: same segfault
  • Remove the Radeon GPU: RViz2 starts properly!
    I wonder whether this issue should be reported to upstream OGRE instead?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions