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

Fortress (Ogre 2.2?) broke GUI with VirtualGL #526

Closed
6 of 19 tasks
peci1 opened this issue Jan 4, 2022 · 16 comments
Closed
6 of 19 tasks

Fortress (Ogre 2.2?) broke GUI with VirtualGL #526

peci1 opened this issue Jan 4, 2022 · 16 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@peci1
Copy link
Contributor

peci1 commented Jan 4, 2022

Environment

  • OS Version: Ubuntu 18.04
  • Source or binary build? binary 6.1.0
  • If this is a GUI or sensor rendering bug, describe your GPU and rendering system. Otherwise delete this section.
    • Rendering plugin: ogre2.
      • Sensor rendering error.
      • GUI rendering error.
    • EGL headless mode:
      • Running in EGL headless mode
    • Generally, mention all circumstances that might affect rendering capabilities:
      • running on a dual GPU machine (integrated GPU + discrete GPU)
      • running on a multi-GPU machine (it has multiple discrete GPUs)
      • running on real hardware
      • running in virtual machine
      • running in Docker/Singularity
      • running remotely (e.g. via SSH)
      • running in a cloud
      • using VirtualGL, XVFB, Xdummy, XVNC or other indirect rendering utilities
      • GPU is concurrently used for other tasks
        • desktop acceleration
        • video decoding (i.e. a playing Youtube video)
        • video encoding
        • CUDA/ROCm computations (Tensorflow, Torch, Caffe running)
        • multiple simulators running at the same time
      • other...
    • Rendering system info:
      • On Linux, provide the outputs of the following commands:
        LANG=C lspci -nn | grep VGA
          06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [1002:1636] (rev d1)
        echo "$DISPLAY"
          :0
        LANG=C glxinfo -B | grep -i '\(direct rendering\|opengl\|profile\)'  # might require installing mesa-utils package
            direct rendering: Yes
                Preferred profile: core (0x1)
                Max core profile version: 4.6
                Max compat profile version: 4.6
                Max GLES1 profile version: 1.1
                Max GLES[23] profile version: 3.2
            OpenGL vendor string: AMD
            OpenGL renderer string: AMD RENOIR (DRM 3.42.0, 5.15.12-051512-generic, LLVM 13.0.0)
            OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.3 - kisak-mesa PPA
            OpenGL core profile shading language version string: 4.60
            OpenGL core profile context flags: (none)
            OpenGL core profile profile mask: core profile
            OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.3.3 - kisak-mesa PPA
            OpenGL shading language version string: 4.60
            OpenGL context flags: (none)
            OpenGL profile mask: compatibility profile
            OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.3.3 - kisak-mesa PPA
            OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
        ps aux | grep Xorg
          peci1     2917  2.9  0.8 2125692 245400 tty2   Sl+  led03  45:28 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
        sudo env LANG=C X -version
            X.Org X Server 1.20.8
            X Protocol Version 11, Revision 0
            Build Operating System: Linux 4.15.0-163-generic x86_64 Ubuntu
            Current Operating System: Linux cras-17 5.15.12-051512-generic #202112290738 SMP Wed Dec 29 13:02:47 UTC 2021 x86_64
            Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.15.12-051512-generic root=UUID=d982512a-7987-4852-992c-9aeeddc50c46 ro delayacct
            Build Date: 14 December 2021  02:34:57PM
            xorg-server-hwe-18.04 2:1.20.8-2ubuntu2.2~18.04.6 (For technical support please see http://www.ubuntu.com/support)
            Current version of pixman: 0.34.0
              Before reporting problems, check http://wiki.x.org
              to make sure that you have the latest version.
    • Please, attach the ogre.log or ogre2.log file from ~/.ignition/rendering
22:09:55: Creating resource group General
22:09:55: Creating resource group Internal
22:09:55: Creating resource group Autodetect
22:09:55: SceneManagerFactory for type 'DefaultSceneManager' registered.
22:09:55: Registering ResourceManager for type Material
22:09:55: Registering ResourceManager for type Mesh
22:09:55: Registering ResourceManager for type Mesh2
22:09:55: Registering ResourceManager for type OldSkeleton
22:09:55: MovableObjectFactory for type 'ParticleSystem' registered.
22:09:55: ArchiveFactory for archive type FileSystem registered.
22:09:55: ArchiveFactory for archive type Zip registered.
22:09:55: ArchiveFactory for archive type EmbeddedZip registered.
22:09:55: DDS codec registering
22:09:55: FreeImage version: 3.17.0
22:09:55: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
22:09:55: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
22:09:55: OITD codec registering
22:09:55: Registering ResourceManager for type HighLevelGpuProgram
22:09:55: MovableObjectFactory for type 'Decal' registered.
22:09:55: MovableObjectFactory for type 'InternalCubemapProbe' registered.
22:09:55: MovableObjectFactory for type 'Entity' registered.
22:09:55: MovableObjectFactory for type 'Item' registered.
22:09:55: MovableObjectFactory for type 'Light' registered.
22:09:55: MovableObjectFactory for type 'Rectangle2Dv2' registered.
22:09:55: MovableObjectFactory for type 'BillboardSet' registered.
22:09:55: MovableObjectFactory for type 'ManualObject2' registered.
22:09:55: MovableObjectFactory for type 'BillboardChain' registered.
22:09:55: MovableObjectFactory for type 'RibbonTrail' registered.
22:09:55: MovableObjectFactory for type 'WireAabb' registered.
22:09:55: *-*-* OGRE Initialising
22:09:55: *-*-* Version 2.2.6 (Cerberus)
22:09:55: OverlayElementFactory for type Panel registered.
22:09:55: OverlayElementFactory for type BorderPanel registered.
22:09:55: OverlayElementFactory for type TextArea registered.
22:09:55: Registering ResourceManager for type Font
22:09:55: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.2/OGRE/RenderSystem_GL3Plus.so
22:09:55: Installing plugin: GL 3+ RenderSystem
22:09:55: OpenGL 3+ Rendering Subsystem created.
22:09:55: Found Num EGL Devices: 2
22:09:55: EGL Device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #0 /dev/dri/card0
22:09:55: Trying to init device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #0 /dev/dri/card0...
22:09:55: Created GL 4.5 context for device EGL_EXT_device_drm EGL_EXT_device_drm_render_node #0 /dev/dri/card0
22:09:55: Destroying device: EGL_EXT_device_drm EGL_EXT_device_drm_render_node #0 /dev/dri/card0...
22:09:55: EGL Device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #1
22:09:55: Trying to init device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #1...
22:09:55: Created GL 4.5 context for device EGL_MESA_device_software EGL_EXT_device_drm_render_node #1
22:09:55: Destroying device: EGL_MESA_device_software EGL_EXT_device_drm_render_node #1...
22:09:55: Plugin successfully installed
22:09:55: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.2/OGRE/Plugin_ParticleFX.so
22:09:55: Installing plugin: ParticleFX
22:09:55: Particle Emitter Type 'Point' registered
22:09:55: Particle Emitter Type 'Box' registered
22:09:55: Particle Emitter Type 'Ellipsoid' registered
22:09:55: Particle Emitter Type 'Cylinder' registered
22:09:55: Particle Emitter Type 'Ring' registered
22:09:55: Particle Emitter Type 'HollowEllipsoid' registered
22:09:55: Particle Affector Type 'LinearForce' registered
22:09:55: Particle Affector Type 'ColourFader' registered
22:09:55: Particle Affector Type 'ColourFader2' registered
22:09:55: Particle Affector Type 'ColourImage' registered
22:09:55: Particle Affector Type 'ColourInterpolator' registered
22:09:55: Particle Affector Type 'Scaler' registered
22:09:55: Particle Affector Type 'Rotator' registered
22:09:55: Particle Affector Type 'DirectionRandomiser' registered
22:09:55: Particle Affector Type 'DeflectorPlane' registered
22:09:55: Plugin successfully installed
22:09:55: CPU Identifier & Features
22:09:55: -------------------------
22:09:55:  *   CPU ID: AuthenticAMD: AMD Ryzen 7 PRO 4750U with Radeon Graphics
22:09:55:  *   Logical cores: 16
22:09:55:  *      SSE: yes
22:09:55:  *     SSE2: yes
22:09:55:  *     SSE3: yes
22:09:55:  *      MMX: yes
22:09:55:  *   MMXEXT: yes
22:09:55:  *    3DNOW: no
22:09:55:  * 3DNOWEXT: no
22:09:55:  *     CMOV: yes
22:09:55:  *      TSC: yes
22:09:55:  *      FPU: yes
22:09:55:  *      PRO: yes
22:09:55:  *       HT: no
22:09:55: -------------------------
22:09:55: ******************************
*** Starting GLX Subsystem ***
******************************
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: GL3PlusRenderSystem::_createRenderWindow "OgreWindow(0)_0", 1x1 windowed  miscParams: FSAA=0 border=none contentScalingFactor=1,000000 currentGLContext=true externalGLControl=true gamma=Yes parentWindowHandle=88080391 stereoMode=Frame Sequential 
22:09:55: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media' of type 'FileSystem' to resource group 'General'
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/programs' of type 'FileSystem' to resource group 'General'
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/programs/GLSL' of type 'FileSystem' to resource group 'General'
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/programs/Metal' of type 'FileSystem' to resource group 'General'
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/scripts' of type 'FileSystem' to resource group 'General'
22:09:55: Added resource location '/usr/share/ignition/ignition-rendering6/ogre2/media/materials/textures' of type 'FileSystem' to resource group 'General'
22:09:55: Parsing scripts for resource group Autodetect
22:09:55: Finished parsing scripts for resource group Autodetect
22:09:55: Creating resources for group Autodetect
22:09:55: All done
22:09:55: Parsing scripts for resource group General
22:09:55: Parsing script point_cloud_point.material

Description

  • Expected behavior: Running GUI with 3D operations performed by VirtualGL should work.
  • Actual behavior: GUI crashes.

Steps to reproduce

  1. Install VirtualGL from https://sourceforge.net/projects/virtualgl/files/3.0/
  2. Either configure the VGL server according to docs or just for quick testing call sudo chmod g+rw /dev/dri/card0
  3. vglrun +v -d /dev/dri/card0 ign gazebo -v4
  4. GUI crashes

Output

[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)

VirtualGL is a nice way to run Gazebo in many constrained environments where e.g. a fully-fledged X server cannot be run, or it is running on a wrong GPU etc. We've been using it all the time in SubT challenge with Dome without problems. The above example works correctly in Dome and Edifice and fails in Fortress. I know Fortress came with headless rendering support, but VirtualGL is more mighty - it can also redirect the GUI to use EGL (when connected with xvfb).

The EGL backend of VirtualGL works so that it intercepts GLX calls from the application and substitutes them with relevant EGL calls. This translation/faking layer is not 100% feature complete. However, with the error being so non-informative, I have no idea what could be wrong (whether it's gazebo-side or virtualgl-side).

Here is a trace of the VirtualGL function interposer, but I can't make anything useful from it: https://pastebin.com/nsCJ8SSE

@peci1 peci1 added the bug Something isn't working label Jan 4, 2022
@darksylinc
Copy link
Contributor

Why it broken in Fortress/Ogre2.2 I do not know.

What I can tell you, is that when "currentGLContext" = "1" (which is what Gazebo does in both Edifice & Fortress) both Ogre 2.1 and 2.2 will perform the following:

if( "currentGLContext" == "1" )
{
                if( !glXGetCurrentContext() )
                {
                    OGRE_EXCEPT( Exception::ERR_RENDERINGAPI_ERROR,
                                 "currentGLContext was specified with no current GL context",
                                 "GLXWindow::create" );
                }
}

glXGetCurrentContext is a GLX call.

The algorithm is quite simple: if "currentGLContext" is set, then we expect a GL context to be bound.
(i.e. someone already called glXMakeContextCurrent or glXMakeCurrent)

Given that the context is created by Qt when using GUI, I suspect the cause is somewhere in Qt code, or some subtle change in Ogre2RenderEngine::CreateRenderWindow (or parent caller, or code executed up until now) that no longer sets the context.

Or alternatively, a routine caused a call to glXMakeCurrent( display, None, None ); which unsets the context.
I'd put a breakpoint in void GLXContext::endCurrent() { glXMakeCurrent( mGLSupport->getGLDisplay(), None, None ); } on RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXContext.cpp to be sure it's not on the Ogre side.

TL;DR there is a missing call to glXMakeCurrent that must happen before Ogre is created, or an extra glXMakeCurrent( display, None, None ); that shouldn't be there.
But given that this only happens with VGL (instead of always) I have no idea why that would happen.

Perhaps Qt no longer uses glXMakeCurrent and uses something else that can still be retrieved with glXGetCurrentContext but broke with VGL.

@peci1
Copy link
Contributor Author

peci1 commented Jan 5, 2022

Here is a gdb trace of just the GUI printing every call of glXMakeCurrent (without VGL):

[Msg] Ignition Gazebo GUI    v6.3.0
[New Thread 0x7fffe2438700 (LWP 15279)]
[New Thread 0x7fffd82f7700 (LWP 15290)]
[New Thread 0x7fffd7af6700 (LWP 15291)]
[New Thread 0x7fffd605f700 (LWP 15292)]
[Dbg] [Application.cc:88] Initializing application.
[New Thread 0x7fffd585e700 (LWP 15294)]
[GUI] [Dbg] [Application.cc:432] Create main window
[New Thread 0x7fffb7afa700 (LWP 15295)]
[New Thread 0x7fffb6ab7700 (LWP 15296)]
[New Thread 0x7fffb62b6700 (LWP 15297)]
[New Thread 0x7fffb5ab5700 (LWP 15298)]
[New Thread 0x7fffb52b4700 (LWP 15299)]
[New Thread 0x7fffb4ab3700 (LWP 15300)]
[New Thread 0x7fff97fff700 (LWP 15301)]
[New Thread 0x7fff9ffff700 (LWP 15302)]
[New Thread 0x7fff9f7fe700 (LWP 15303)]
[New Thread 0x7fff9effd700 (LWP 15304)]
[New Thread 0x7fff9e7fc700 (LWP 15305)]
[New Thread 0x7fff9dffb700 (LWP 15306)]
[New Thread 0x7fff9d7fa700 (LWP 15307)]
[New Thread 0x7fff9cff9700 (LWP 15308)]
[New Thread 0x7fff977fe700 (LWP 15309)]
[New Thread 0x7fff96ffd700 (LWP 15310)]
[New Thread 0x7fff967fc700 (LWP 15311)]
[New Thread 0x7fff95ffb700 (LWP 15312)]
[New Thread 0x7fff957fa700 (LWP 15313)]
[New Thread 0x7fff94ff9700 (LWP 15314)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748743, context=0x555555cd5010) at ../src/GLX/libglx.c:1119
1119	../src/GLX/libglx.c: No such file or directory.

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=0, context=0x0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c
[Thread 0x7fff94ff9700 (LWP 15314) exited]
[New Thread 0x7fff94ff9700 (LWP 15333)]
[New Thread 0x7fff5fba4700 (LWP 15334)]
[New Thread 0x7fff5f3a3700 (LWP 15335)]
[New Thread 0x7fff5eba2700 (LWP 15336)]
[New Thread 0x7fff5e3a1700 (LWP 15337)]
[New Thread 0x7fff5dba0700 (LWP 15338)]
[GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get]
[GUI] [Dbg] [Gui.cc:156] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[GUI] [Dbg] [PathManager.cc:55] Received resource paths.
[GUI] [Dbg] [Gui.cc:215] Requesting GUI from [/world/default/gui/info]...
[GUI] [Dbg] [GuiRunner.cc:114] Requesting initial state from [/world/default/state]...
[GUI] [Msg] Loading config [/home/peci1/.ignition/gazebo/6/gui.config]
[GUI] [Dbg] [Application.cc:309] Loading plugin [MinimalScene]
[New Thread 0x7fff49e39700 (LWP 15342)]
[New Thread 0x7fff491c9700 (LWP 15343)]
[New Thread 0x7fff489c8700 (LWP 15344)]
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMinimalScene.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [EntityContextMenuPlugin]
[GUI] [Msg] Added plugin [EntityContextMenu] to main window
[GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityContextMenuPlugin.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [GzSceneManager]
[GUI] [Msg] Added plugin [Scene Manager] to main window
[GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzSceneManager.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [InteractiveViewControl]
[GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[GUI] [Msg] Added plugin [] to main window
[GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libInteractiveViewControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [CameraTracking]
[GUI] [Msg] Added plugin [Camera tracking] to main window
[GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libCameraTracking.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [MarkerManager]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Msg] Added plugin [Marker Manager] to main window
[GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMarkerManager.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [SelectEntities]
[GUI] [Msg] Added plugin [Select entities] to main window
[GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSelectEntities.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Spawn]
[GUI] [Msg] Added plugin [Spawn] to main window
[GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSpawn.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [VisualizationCapabilities]
[GUI] [Msg] View as transparent service on [/gui/view/transparent]
[GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[GUI] [Msg] View center of mass service on [/gui/view/com]
[GUI] [Msg] View inertia service on [/gui/view/inertia]
[GUI] [Msg] View collisions service on [/gui/view/collisions]
[GUI] [Msg] View joints service on [/gui/view/joints]
[GUI] [Msg] View frames service on [/gui/view/frames]
[GUI] [Msg] Added plugin [VisualizationCapabilities] to main window
[GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libVisualizationCapabilities.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [WorldControl]
[GUI] [Msg] Using world control service [/world/default/control]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Dbg] [WorldControl.cc:237] Using an event to share WorldControl msgs with the server
[GUI] [Msg] Added plugin [World control] to main window
[GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [WorldStats]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Msg] Added plugin [World stats] to main window
[GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldStats.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Shapes]
[Thread 0x7fff491c9700 (LWP 15343) exited]
[GUI] [Msg] Added plugin [Shapes] to main window
[GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libShapes.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Lights]
[GUI] [Msg] Added plugin [Lights] to main window
[GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libLights.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [TransformControl]
[GUI] [Dbg] [TransformControl.cc:219] Legacy mode is disabled; this plugin must be used with MinimalScene.
[GUI] [Msg] Added plugin [Transform control] to main window
[GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libTransformControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Screenshot]
[GUI] [Msg] Screenshot service on [/gui/screenshot]
[GUI] [Msg] Added plugin [Screenshot] to main window
[GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libScreenshot.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [CopyPaste]
[GUI] [Msg] Added plugin [Copy/Paste] to main window
[GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libCopyPaste.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [ComponentInspector]
[GUI] [Msg] Added plugin [Component inspector] to main window
[GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libComponentInspector.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [EntityTree]
[GUI] [Msg] Added plugin [Entity tree] to main window
[GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityTree.so]
[GUI] [Dbg] [Application.cc:262] Loading window config
[GUI] [Dbg] [Application.cc:446] Applying config
[GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[New Thread 0x7fff491c9700 (LWP 15359)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748757, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=0, context=0x0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=0, context=0x0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c
[New Thread 0x7fff3823d700 (LWP 15360)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748766, context=0x55555a178ee0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=0, context=0x0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c
[New Thread 0x7fff37a3c700 (LWP 15361)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[New Thread 0x7fff2fdeb700 (LWP 15362)]
[New Thread 0x7fff2f5ea700 (LWP 15363)]
[New Thread 0x7fff2ede9700 (LWP 15364)]
[New Thread 0x7fff2e5e8700 (LWP 15365)]
[New Thread 0x7fff2dde7700 (LWP 15366)]
[New Thread 0x7fff2d5e6700 (LWP 15367)]
[New Thread 0x7fff2cde5700 (LWP 15368)]
[New Thread 0x7fff0bfff700 (LWP 15369)]
[New Thread 0x7fff037fe700 (LWP 15370)]
[New Thread 0x7fff0b7fe700 (LWP 15371)]
[New Thread 0x7fff0affd700 (LWP 15372)]
[New Thread 0x7fff0a7fc700 (LWP 15373)]
[New Thread 0x7fff09ffb700 (LWP 15374)]
[New Thread 0x7fff097fa700 (LWP 15375)]
[New Thread 0x7fff08ff9700 (LWP 15376)]
[New Thread 0x7fff03fff700 (LWP 15377)]
[New Thread 0x7fff02ffd700 (LWP 15378)]
[New Thread 0x7fff027fc700 (LWP 15379)]
[New Thread 0x7fff01ffb700 (LWP 15380)]
[Thread 0x7fff01ffb700 (LWP 15380) exited]
[Thread 0x7fff0b7fe700 (LWP 15371) exited]
[Thread 0x7fff037fe700 (LWP 15370) exited]
[Thread 0x7fff0bfff700 (LWP 15369) exited]
[Thread 0x7fff2cde5700 (LWP 15368) exited]
[Thread 0x7fff09ffb700 (LWP 15374) exited]
[Thread 0x7fff0a7fc700 (LWP 15373) exited]
[Thread 0x7fff0affd700 (LWP 15372) exited]
[Thread 0x7fff2d5e6700 (LWP 15367) exited]
[Thread 0x7fff2dde7700 (LWP 15366) exited]
[Thread 0x7fff2e5e8700 (LWP 15365) exited]
[Thread 0x7fff2ede9700 (LWP 15364) exited]
[Thread 0x7fff2f5ea700 (LWP 15363) exited]
[Thread 0x7fff027fc700 (LWP 15379) exited]
[Thread 0x7fff02ffd700 (LWP 15378) exited]
[Thread 0x7fff03fff700 (LWP 15377) exited]
[Thread 0x7fff08ff9700 (LWP 15376) exited]
[Thread 0x7fff097fa700 (LWP 15375) exited]
[Thread 0x7fff2fdeb700 (LWP 15362) exited]
[New Thread 0x7fff2fdeb700 (LWP 15381)]
[New Thread 0x7fff027fc700 (LWP 15382)]
[New Thread 0x7fff02ffd700 (LWP 15383)]
[New Thread 0x7fff03fff700 (LWP 15384)]
[New Thread 0x7fff2f5ea700 (LWP 15385)]
[New Thread 0x7fff2ede9700 (LWP 15386)]
[New Thread 0x7fff2e5e8700 (LWP 15387)]
[New Thread 0x7fff2dde7700 (LWP 15388)]
[New Thread 0x7fff2d5e6700 (LWP 15389)]
[New Thread 0x7fff2cde5700 (LWP 15390)]
[New Thread 0x7fff0bfff700 (LWP 15391)]
[New Thread 0x7fff0b7fe700 (LWP 15392)]
[New Thread 0x7fff0affd700 (LWP 15393)]
[New Thread 0x7fff0a7fc700 (LWP 15394)]
[New Thread 0x7fff09ffb700 (LWP 15395)]
[New Thread 0x7fff097fa700 (LWP 15396)]
[New Thread 0x7fff08ff9700 (LWP 15397)]
[New Thread 0x7fff037fe700 (LWP 15398)]
[New Thread 0x7fff01ffb700 (LWP 15399)]
[New Thread 0x7fff017fa700 (LWP 15400)]
[New Thread 0x7fff00ff9700 (LWP 15401)]
[New Thread 0x7ffecbfff700 (LWP 15402)]
[New Thread 0x7ffec3fff700 (LWP 15403)]
[New Thread 0x7ffecb7fe700 (LWP 15404)]
[New Thread 0x7ffecaffd700 (LWP 15405)]
[New Thread 0x7ffeca7fc700 (LWP 15406)]
[New Thread 0x7ffec9ffb700 (LWP 15407)]
[New Thread 0x7ffec97fa700 (LWP 15408)]
[New Thread 0x7ffec8ff9700 (LWP 15409)]
[New Thread 0x7ffec37fe700 (LWP 15410)]
[New Thread 0x7ffec2ffd700 (LWP 15411)]
[New Thread 0x7ffec27fc700 (LWP 15412)]
[New Thread 0x7ffec1ffb700 (LWP 15413)]
[Thread 0x7ffec27fc700 (LWP 15412) exited]
[Thread 0x7ffec2ffd700 (LWP 15411) exited]
[Thread 0x7ffec37fe700 (LWP 15410) exited]
[Thread 0x7ffec8ff9700 (LWP 15409) exited]
[Thread 0x7ffec97fa700 (LWP 15408) exited]
[Thread 0x7ffec9ffb700 (LWP 15407) exited]
[Thread 0x7ffeca7fc700 (LWP 15406) exited]
[Thread 0x7ffecaffd700 (LWP 15405) exited]
[Thread 0x7ffecb7fe700 (LWP 15404) exited]
[Thread 0x7ffec3fff700 (LWP 15403) exited]
[Thread 0x7ffecbfff700 (LWP 15402) exited]
[Thread 0x7fff00ff9700 (LWP 15401) exited]
[Thread 0x7fff017fa700 (LWP 15400) exited]
[Thread 0x7fff01ffb700 (LWP 15399) exited]
[Thread 0x7fff037fe700 (LWP 15398) exited]
[Thread 0x7fff08ff9700 (LWP 15397) exited]
[Thread 0x7fff097fa700 (LWP 15396) exited]
[Thread 0x7fff09ffb700 (LWP 15395) exited]
[Thread 0x7fff0a7fc700 (LWP 15394) exited]
[Thread 0x7ffec1ffb700 (LWP 15413) exited]
[Thread 0x7fff0affd700 (LWP 15393) exited]
[Thread 0x7fff0b7fe700 (LWP 15392) exited]
[Thread 0x7fff0bfff700 (LWP 15391) exited]
[Thread 0x7fff2cde5700 (LWP 15390) exited]
[Thread 0x7fff2d5e6700 (LWP 15389) exited]
[Thread 0x7fff2dde7700 (LWP 15388) exited]
[Thread 0x7fff2e5e8700 (LWP 15387) exited]
[Thread 0x7fff2ede9700 (LWP 15386) exited]
[Thread 0x7fff2f5ea700 (LWP 15385) exited]
[Thread 0x7fff03fff700 (LWP 15384) exited]
[Thread 0x7fff02ffd700 (LWP 15383) exited]
[Thread 0x7fff027fc700 (LWP 15382) exited]
[Thread 0x7fff2fdeb700 (LWP 15381) exited]
[Switching to Thread 0x7fff37a3c700 (LWP 15361)]

Thread 38 "ignition::gui::" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=56623106, context=0x55555a178ee0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 38 "ignition::gui::" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=0, context=0x0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 38 "ignition::gui::" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748767, context=0x55555a178ee0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 38 "ignition::gui::" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=56623106, context=0x55555a178ee0) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c
[New Thread 0x7ffec1ffb700 (LWP 15424)]
[GUI] [Dbg] [MinimalScene.cc:534] Create scene [scene]
[New Thread 0x7fff097fa700 (LWP 15425)]
[New Thread 0x7fff09ffb700 (LWP 15426)]
[New Thread 0x7fff0a7fc700 (LWP 15427)]
[New Thread 0x7fff0bfff700 (LWP 15428)]
[New Thread 0x7fff0b7fe700 (LWP 15429)]
[New Thread 0x7fff0affd700 (LWP 15430)]
[New Thread 0x7fff08ff9700 (LWP 15431)]
[New Thread 0x7fff03fff700 (LWP 15432)]
[New Thread 0x7fff037fe700 (LWP 15433)]
[New Thread 0x7fff02ffd700 (LWP 15434)]
[New Thread 0x7fff027fc700 (LWP 15435)]
[New Thread 0x7fff01ffb700 (LWP 15436)]
[New Thread 0x7fff017fa700 (LWP 15437)]
[New Thread 0x7fff00ff9700 (LWP 15438)]
[New Thread 0x7ffecbfff700 (LWP 15439)]
[New Thread 0x7ffecb7fe700 (LWP 15440)]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [TransformControl.cc:528] TransformControl plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [Spawn.cc:318] Spawn plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [SelectEntities.cc:449] SelectEntities plugin is using camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [MarkerManager.cc:171] Advertise /marker/list service.
[GUI] [Dbg] [MarkerManager.cc:181] Advertise /marker/list.
[GUI] [Dbg] [MarkerManager.cc:191] Advertise /marker_array.
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [CameraTracking.cc:181] CameraTrackingPrivate plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Move to service on [/gui/move_to]
[GUI] [Msg] Follow service on [/gui/follow]
[GUI] [Msg] Move to pose service on [/gui/move_to/pose]
[GUI] [Msg] Camera pose topic advertised on [/gui/camera/pose]
[GUI] [Msg] Follow offset service on [/gui/follow/offset]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [InteractiveViewControl.cc:130] InteractiveViewControl plugin is moving camera [scene::Camera(65527)]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [EntityContextMenuPlugin.cc:79] Entity context menu plugin is using camera [scene::Camera(65527)]
[Switching to Thread 0x7ffff7f5d800 (LWP 15144)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558bd970, drawable=37748753, context=0x555559193060) at ../src/GLX/libglx.c:1119
1119	in ../src/GLX/libglx.c

@peci1
Copy link
Contributor Author

peci1 commented Jan 5, 2022

And the same kind of trace with VGL:

[Msg] Ignition Gazebo GUI    v6.3.0
[VGL] Shared memory segment ID for vglconfig: 65564
[VGL] VirtualGL v3.0.1 64-bit (Build 20220105)
[New Thread 0x7fffe1c98700 (LWP 19257)]
[New Thread 0x7fffd7c43700 (LWP 19258)]
[New Thread 0x7fffd7442700 (LWP 19259)]
[New Thread 0x7fffd59ab700 (LWP 19260)]
[Dbg] [Application.cc:88] Initializing application.
[New Thread 0x7fffd51aa700 (LWP 19262)]
[GUI] [Dbg] [Application.cc:432] Create main window
[VGL] Opening EGL device /dev/dri/card0
[New Thread 0x7fffb7262700 (LWP 19273)]
[New Thread 0x7fffb60de700 (LWP 19274)]
[New Thread 0x7fffb58dd700 (LWP 19275)]
[New Thread 0x7fffb50dc700 (LWP 19276)]
[New Thread 0x7fffb48db700 (LWP 19277)]
[New Thread 0x7fff9ffff700 (LWP 19278)]
[New Thread 0x7fff9f7fe700 (LWP 19279)]
[New Thread 0x7fff9effd700 (LWP 19280)]
[New Thread 0x7fff9e7fc700 (LWP 19281)]
[New Thread 0x7fff9dffb700 (LWP 19282)]
[New Thread 0x7fff9d7fa700 (LWP 19283)]
[New Thread 0x7fff9cff9700 (LWP 19284)]
[New Thread 0x7fff87fff700 (LWP 19285)]
[New Thread 0x7fff877fe700 (LWP 19286)]
[New Thread 0x7fff86ffd700 (LWP 19287)]
[New Thread 0x7fff867fc700 (LWP 19288)]
[New Thread 0x7fff85ffb700 (LWP 19289)]
[New Thread 0x7fff857fa700 (LWP 19290)]
[New Thread 0x7fff84ff9700 (LWP 19291)]
[Thread 0x7fff877fe700 (LWP 19286) exited]
[Thread 0x7fff867fc700 (LWP 19288) exited]
[Thread 0x7fff84ff9700 (LWP 19291) exited]
[Thread 0x7fff85ffb700 (LWP 19289) exited]
[Thread 0x7fff857fa700 (LWP 19290) exited]
[Thread 0x7fff86ffd700 (LWP 19287) exited]
[Thread 0x7fff87fff700 (LWP 19285) exited]
[Thread 0x7fff9cff9700 (LWP 19284) exited]
[Thread 0x7fff9d7fa700 (LWP 19283) exited]
[Thread 0x7fff9dffb700 (LWP 19282) exited]
[Thread 0x7fff9e7fc700 (LWP 19281) exited]
[Thread 0x7fff9effd700 (LWP 19280) exited]
[Thread 0x7fff9f7fe700 (LWP 19279) exited]
[Thread 0x7fff9ffff700 (LWP 19278) exited]
[Thread 0x7fffb48db700 (LWP 19277) exited]
[Thread 0x7fffb50dc700 (LWP 19276) exited]
[Thread 0x7fffb58dd700 (LWP 19275) exited]
[Thread 0x7fffb60de700 (LWP 19274) exited]
[Thread 0x7fffb7262700 (LWP 19273) exited]
[New Thread 0x7fffb7262700 (LWP 19292)]
[New Thread 0x7fffb60de700 (LWP 19293)]
[New Thread 0x7fff84ff9700 (LWP 19294)]
[New Thread 0x7fff857fa700 (LWP 19295)]
[New Thread 0x7fffb58dd700 (LWP 19296)]
[New Thread 0x7fffb50dc700 (LWP 19297)]
[New Thread 0x7fffb48db700 (LWP 19298)]
[New Thread 0x7fff9ffff700 (LWP 19299)]
[New Thread 0x7fff9f7fe700 (LWP 19300)]
[New Thread 0x7fff9effd700 (LWP 19301)]
[New Thread 0x7fff9e7fc700 (LWP 19302)]
[New Thread 0x7fff9dffb700 (LWP 19303)]
[New Thread 0x7fff9d7fa700 (LWP 19304)]
[New Thread 0x7fff9cff9700 (LWP 19305)]
[New Thread 0x7fff87fff700 (LWP 19306)]
[New Thread 0x7fff877fe700 (LWP 19307)]
[New Thread 0x7fff86ffd700 (LWP 19308)]
[New Thread 0x7fff867fc700 (LWP 19309)]
[New Thread 0x7fff85ffb700 (LWP 19310)]
[New Thread 0x7fff63fff700 (LWP 19311)]
[Thread 0x7fff63fff700 (LWP 19311) exited]
[New Thread 0x7fff63fff700 (LWP 19312)]
[New Thread 0x7fff637fe700 (LWP 19313)]
[New Thread 0x7fff62ffd700 (LWP 19314)]
[New Thread 0x7fff627fc700 (LWP 19315)]
[New Thread 0x7fff61ffb700 (LWP 19316)]
[New Thread 0x7fff617fa700 (LWP 19317)]
[New Thread 0x7fff60ff9700 (LWP 19318)]
[New Thread 0x7fff3ffff700 (LWP 19319)]
[New Thread 0x7fff377fe700 (LWP 19320)]
[New Thread 0x7fff3f7fe700 (LWP 19321)]
[New Thread 0x7fff3effd700 (LWP 19322)]
[New Thread 0x7fff3e7fc700 (LWP 19323)]
[New Thread 0x7fff3dffb700 (LWP 19324)]
[New Thread 0x7fff3d7fa700 (LWP 19325)]
[New Thread 0x7fff3cff9700 (LWP 19326)]
[New Thread 0x7fff37fff700 (LWP 19327)]
[New Thread 0x7fff36ffd700 (LWP 19328)]
[New Thread 0x7fff367fc700 (LWP 19329)]
[New Thread 0x7fff35ffb700 (LWP 19330)]
[New Thread 0x7fff357fa700 (LWP 19331)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748740, ctx=0x555555ca7230) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[VGL] Selecting structure notify events in window 0x02400004

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=0, ctx=0x0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[Thread 0x7fff357fa700 (LWP 19331) exited]
[New Thread 0x7fff357fa700 (LWP 19332)]
[New Thread 0x7fff34ff9700 (LWP 19333)]
[New Thread 0x7fff07fff700 (LWP 19334)]
[New Thread 0x7fff077fe700 (LWP 19335)]
[New Thread 0x7fff06ffd700 (LWP 19336)]
[New Thread 0x7fff067fc700 (LWP 19337)]
[GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get]
[GUI] [Dbg] [Gui.cc:156] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[GUI] [Dbg] [PathManager.cc:55] Received resource paths.
[GUI] [Dbg] [Gui.cc:215] Requesting GUI from [/world/default/gui/info]...
[GUI] [Dbg] [GuiRunner.cc:114] Requesting initial state from [/world/default/state]...
[GUI] [Msg] Loading config [/home/peci1/.ignition/gazebo/6/gui.config]
[GUI] [Dbg] [Application.cc:309] Loading plugin [MinimalScene]
[New Thread 0x7ffef339d700 (LWP 19359)]
[New Thread 0x7ffef272d700 (LWP 19360)]
[New Thread 0x7ffef1f2c700 (LWP 19361)]
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMinimalScene.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [EntityContextMenuPlugin]
[GUI] [Msg] Added plugin [EntityContextMenu] to main window
[GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityContextMenuPlugin.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [GzSceneManager]
[GUI] [Msg] Added plugin [Scene Manager] to main window
[GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzSceneManager.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [InteractiveViewControl]
[GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[GUI] [Msg] Added plugin [] to main window
[GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libInteractiveViewControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [CameraTracking]
[GUI] [Msg] Added plugin [Camera tracking] to main window
[GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libCameraTracking.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [MarkerManager]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Msg] Added plugin [Marker Manager] to main window
[GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMarkerManager.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [SelectEntities]
[GUI] [Msg] Added plugin [Select entities] to main window
[GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSelectEntities.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Spawn]
[Thread 0x7ffef1f2c700 (LWP 19361) exited]
[GUI] [Msg] Added plugin [Spawn] to main window
[GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSpawn.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [VisualizationCapabilities]
[GUI] [Msg] View as transparent service on [/gui/view/transparent]
[GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[GUI] [Msg] View center of mass service on [/gui/view/com]
[GUI] [Msg] View inertia service on [/gui/view/inertia]
[GUI] [Msg] View collisions service on [/gui/view/collisions]
[GUI] [Msg] View joints service on [/gui/view/joints]
[GUI] [Msg] View frames service on [/gui/view/frames]
[GUI] [Msg] Added plugin [VisualizationCapabilities] to main window
[GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libVisualizationCapabilities.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [WorldControl]
[GUI] [Msg] Using world control service [/world/default/control]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Dbg] [WorldControl.cc:237] Using an event to share WorldControl msgs with the server
[GUI] [Msg] Added plugin [World control] to main window
[GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [WorldStats]
[GUI] [Msg] Listening to stats on [/world/default/stats]
[GUI] [Msg] Added plugin [World stats] to main window
[GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldStats.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Shapes]
[GUI] [Msg] Added plugin [Shapes] to main window
[GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libShapes.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Lights]
[GUI] [Msg] Added plugin [Lights] to main window
[GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libLights.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [TransformControl]
[GUI] [Dbg] [TransformControl.cc:219] Legacy mode is disabled; this plugin must be used with MinimalScene.
[GUI] [Msg] Added plugin [Transform control] to main window
[GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libTransformControl.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [Screenshot]
[GUI] [Msg] Screenshot service on [/gui/screenshot]
[GUI] [Msg] Added plugin [Screenshot] to main window
[GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libScreenshot.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [CopyPaste]
[GUI] [Msg] Added plugin [Copy/Paste] to main window
[GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libCopyPaste.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [ComponentInspector]
[GUI] [Msg] Added plugin [Component inspector] to main window
[GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libComponentInspector.so]
[GUI] [Dbg] [Application.cc:309] Loading plugin [EntityTree]
[GUI] [Msg] Added plugin [Entity tree] to main window
[GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityTree.so]
[GUI] [Dbg] [Application.cc:262] Loading window config
[GUI] [Dbg] [Application.cc:446] Applying config
[GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[New Thread 0x7ffef1f2c700 (LWP 19376)]

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748746, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[VGL] Selecting structure notify events in window 0x0240000a

Thread 1 "gui" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=0, ctx=0x0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[New Thread 0x7ffee9bc7700 (LWP 19377)]
[Switching to Thread 0x7ffee9bc7700 (LWP 19377)]

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=0, ctx=0x0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[New Thread 0x7ffee8fc6700 (LWP 19392)]

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748748, ctx=0x7ffee04fefb0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[VGL] Selecting structure notify events in window 0x0240000c

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=0, ctx=0x0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[New Thread 0x7ffedbdff700 (LWP 19407)]
[New Thread 0x7ffedb2c4700 (LWP 19408)]
[VGL] Using pixel buffer objects for readback (BGR --> BGRA)

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[New Thread 0x7ffeda589700 (LWP 19409)]

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]

Thread 76 "QSGRenderThread" hit Breakpoint 1, glXMakeCurrent (dpy=0x5555558cf980, drawable=37748743, ctx=0x555558ebb6b0) at /tmp/virtualgl/server/faker-glx.cpp:1641
1641	{
[New Thread 0x7ffec7b34700 (LWP 19410)]
[New Thread 0x7ffebf333700 (LWP 19411)]
[New Thread 0x7ffec7333700 (LWP 19412)]
[New Thread 0x7ffec6b32700 (LWP 19413)]
[New Thread 0x7ffec6331700 (LWP 19414)]
[New Thread 0x7ffec5b30700 (LWP 19415)]
[New Thread 0x7ffec532f700 (LWP 19416)]
[New Thread 0x7ffec4b2e700 (LWP 19417)]
[New Thread 0x7ffebffff700 (LWP 19418)]
[New Thread 0x7ffebeb32700 (LWP 19419)]
[New Thread 0x7ffebe331700 (LWP 19420)]
[New Thread 0x7ffebdb30700 (LWP 19421)]
[New Thread 0x7ffebd32f700 (LWP 19422)]
[New Thread 0x7ffebcb2e700 (LWP 19423)]
[New Thread 0x7ffe87fff700 (LWP 19424)]
[New Thread 0x7ffe7f7fe700 (LWP 19425)]
[New Thread 0x7ffe877fe700 (LWP 19426)]
[New Thread 0x7ffe86ffd700 (LWP 19427)]
[New Thread 0x7ffe867fc700 (LWP 19428)]
[Thread 0x7ffe867fc700 (LWP 19428) exited]
[Thread 0x7ffebd32f700 (LWP 19422) exited]
[Thread 0x7ffebdb30700 (LWP 19421) exited]
[Thread 0x7ffe86ffd700 (LWP 19427) exited]
[Thread 0x7ffe877fe700 (LWP 19426) exited]
[Thread 0x7ffe7f7fe700 (LWP 19425) exited]
[Thread 0x7ffe87fff700 (LWP 19424) exited]
[Thread 0x7ffebcb2e700 (LWP 19423) exited]
[Thread 0x7ffebe331700 (LWP 19420) exited]
[Thread 0x7ffebeb32700 (LWP 19419) exited]
[Thread 0x7ffebffff700 (LWP 19418) exited]
[Thread 0x7ffec4b2e700 (LWP 19417) exited]
[Thread 0x7ffec532f700 (LWP 19416) exited]
[Thread 0x7ffec5b30700 (LWP 19415) exited]
[Thread 0x7ffec6331700 (LWP 19414) exited]
[Thread 0x7ffec6b32700 (LWP 19413) exited]
[Thread 0x7ffec7333700 (LWP 19412) exited]
[Thread 0x7ffebf333700 (LWP 19411) exited]
[Thread 0x7ffec7b34700 (LWP 19410) exited]
[New Thread 0x7ffec7b34700 (LWP 19429)]
[New Thread 0x7ffe86ffd700 (LWP 19430)]
[New Thread 0x7ffe877fe700 (LWP 19431)]
[New Thread 0x7ffe7f7fe700 (LWP 19432)]
[New Thread 0x7ffec7333700 (LWP 19433)]
[New Thread 0x7ffec6b32700 (LWP 19434)]
[New Thread 0x7ffec6331700 (LWP 19435)]
[New Thread 0x7ffec5b30700 (LWP 19436)]
[New Thread 0x7ffec532f700 (LWP 19437)]
[New Thread 0x7ffec4b2e700 (LWP 19438)]
[New Thread 0x7ffebffff700 (LWP 19439)]
[New Thread 0x7ffebf7fe700 (LWP 19440)]
[New Thread 0x7ffebeffd700 (LWP 19441)]
[New Thread 0x7ffebe7fc700 (LWP 19442)]
[New Thread 0x7ffebdffb700 (LWP 19443)]
[New Thread 0x7ffebd7fa700 (LWP 19444)]
[New Thread 0x7ffebcff9700 (LWP 19445)]
[New Thread 0x7ffe87fff700 (LWP 19446)]
[New Thread 0x7ffe867fc700 (LWP 19447)]
[New Thread 0x7ffe85ffb700 (LWP 19448)]
[New Thread 0x7ffe857fa700 (LWP 19449)]
[New Thread 0x7ffe84ff9700 (LWP 19450)]
[New Thread 0x7ffe7ffff700 (LWP 19451)]
[New Thread 0x7ffe7effd700 (LWP 19452)]
[New Thread 0x7ffe7e7fc700 (LWP 19453)]
[New Thread 0x7ffe7dffb700 (LWP 19454)]
[New Thread 0x7ffe7d7fa700 (LWP 19455)]
[New Thread 0x7ffe7cff9700 (LWP 19456)]
[New Thread 0x7ffe47fff700 (LWP 19457)]
[New Thread 0x7ffe477fe700 (LWP 19458)]
[New Thread 0x7ffe46ffd700 (LWP 19459)]
[New Thread 0x7ffe467fc700 (LWP 19460)]
[New Thread 0x7ffe45ffb700 (LWP 19461)]
[Thread 0x7ffe477fe700 (LWP 19458) exited]
[Thread 0x7ffe467fc700 (LWP 19460) exited]
[Thread 0x7ffe46ffd700 (LWP 19459) exited]
[Thread 0x7ffe47fff700 (LWP 19457) exited]
[Thread 0x7ffe7cff9700 (LWP 19456) exited]
[Thread 0x7ffe7d7fa700 (LWP 19455) exited]
[Thread 0x7ffe7dffb700 (LWP 19454) exited]
[Thread 0x7ffe7e7fc700 (LWP 19453) exited]
[Thread 0x7ffe7effd700 (LWP 19452) exited]
[Thread 0x7ffe7ffff700 (LWP 19451) exited]
[Thread 0x7ffe84ff9700 (LWP 19450) exited]
[Thread 0x7ffe857fa700 (LWP 19449) exited]
[Thread 0x7ffe85ffb700 (LWP 19448) exited]
[Thread 0x7ffe867fc700 (LWP 19447) exited]
[Thread 0x7ffe45ffb700 (LWP 19461) exited]
[Thread 0x7ffe87fff700 (LWP 19446) exited]
[Thread 0x7ffebcff9700 (LWP 19445) exited]
[Thread 0x7ffebd7fa700 (LWP 19444) exited]
[Thread 0x7ffebdffb700 (LWP 19443) exited]
[Thread 0x7ffebe7fc700 (LWP 19442) exited]
[Thread 0x7ffebeffd700 (LWP 19441) exited]
[Thread 0x7ffebf7fe700 (LWP 19440) exited]
[Thread 0x7ffebffff700 (LWP 19439) exited]
[Thread 0x7ffec4b2e700 (LWP 19438) exited]
[Thread 0x7ffec532f700 (LWP 19437) exited]
[Thread 0x7ffec5b30700 (LWP 19436) exited]
[Thread 0x7ffec6331700 (LWP 19435) exited]
[Thread 0x7ffec6b32700 (LWP 19434) exited]
[Thread 0x7ffec7333700 (LWP 19433) exited]
[Thread 0x7ffe7f7fe700 (LWP 19432) exited]
[Thread 0x7ffe877fe700 (LWP 19431) exited]
[Thread 0x7ffe86ffd700 (LWP 19430) exited]
[Thread 0x7ffec7b34700 (LWP 19429) exited]
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:958]  Unable to create the rendering window: OGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at /var/lib/jenkins/workspace/ogre-2.2-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)
[GUI] [Err] [Ogre2RenderEngine.cc:966] Unable to create the rendering window after [11] attempts.
[GUI] [Err] [Ogre2RenderEngine.cc:887] Failed to create dummy render window.

Thread 80 "ignition::gui::" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffeda589700 (LWP 19409)]
0x00007ffed923d177 in Ogre::Hlms::createDatablock(Ogre::IdString, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Ogre::HlmsMacroblock const&, Ogre::HlmsBlendblock const&, std::vector<std::pair<Ogre::IdString, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::STLAllocator<std::pair<Ogre::IdString, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11

@peci1
Copy link
Contributor Author

peci1 commented Jan 5, 2022

If I found the right Qt source, it should be this one handling the context: https://code.woboq.org/qt5/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp.html . It seems it is still full of glXMakeCurrent() calls...

@iche033
Copy link
Contributor

iche033 commented Dec 9, 2022

I looked into this a little and was able to reproduce this issue using the container suggested in gazebosim/gz-sim#1746 (comment). For me, I noticed that the GL context was lost (glXGetCurrentContext returns null) after loading the OGRE GL3Plus plugin. Specifically it happens after the plugin tried to query EGL support. If I comment out this line then I no longer get the crash:
https://github.com/OGRECave/ogre-next/blob/v2-2/RenderSystems/GL3Plus/src/windowing/OgreGlSwitchableSupport.cpp#L69

Similarly if I build ogre-next from source without EGL support then gazebo works fine.

@darksylinc
Copy link
Contributor

darksylinc commented Dec 9, 2022

Mmm, EglPBufferSupport::initDevice will start querying all the GPUs and try to create them; in order to see which ones are compatible.

Including calls to eglMakeCurrent (which may override those from glXMakeCurrent).

Perhaps if Gazebo manually saves the GL context before loading the GL3+ plugin, and restores the context after loading it (and before creating a window) this problem can be fixed?

I don't know why the problem is specific to VirtualGL though.

@peci1
Copy link
Contributor Author

peci1 commented Dec 18, 2022

From https://registry.khronos.org/EGL/sdk/docs/man/html/eglMakeCurrent.xhtml:

For purposes of eglMakeCurrent, the client API type of all OpenGL ES and OpenGL contexts is considered the same. In other words, if any OpenGL ES context is currently bound and context is an OpenGL context, or if any OpenGL context is currently bound and context is an OpenGL ES context, the currently bound context will be made no longer current and context will be made current.

So it makes sense the EglPBufferSupport::initDevice() calls reset the GLX buffer.

@peci1
Copy link
Contributor Author

peci1 commented Dec 19, 2022

I think it now makes sense to me.

When running without VirtualGL, the GLX context is created, and then several EGL contexts are probed, each with its own display.

When running with VirtualGL, the GLX context is emulated with eglMakeCurrent(), and then further EGL contexts are probed, also using eglMakeCurrent(). One of these contexts' displays however matches the emulated GLX display, which results in the observed error.

I don't think there's anything that could be fixed on the VirtualGL side. It just can't know if you want to actually change the current EGL context, or if it should remain as it was for the GLX emulation. Or, it would have to report the EGL display used for emulation as unavailable for direct EGL operation. I also asked about this on the VirtualGL repo.

I've written an MWE where you can easily test this behavior. The two lines with comment // FIX suggest how to fix this problem (they would normally go around loadPlugins()). I've tested Gazebo 6 with this fix and it worked!

Compile with g++ -o mwe mwe.cpp -lGL -lGLU -lX11 -lEGL.

#include <GL/glx.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <iostream>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <vector>

int main(int argc, char** argv)
{

auto dummyDisplay = XOpenDisplay(0);
Display *x11Display = static_cast<Display*>(dummyDisplay);
int screenId = DefaultScreen(x11Display);
int attributeList[] = {
    GLX_RENDER_TYPE, GLX_RGBA_BIT,
    GLX_DOUBLEBUFFER, True,
    GLX_DEPTH_SIZE, 16,
    GLX_STENCIL_SIZE, 8,
    None
};
int nelements = 0;
auto dummyFBConfigs = glXChooseFBConfig(x11Display, screenId, attributeList, &nelements);
auto dummyWindowId = XCreateSimpleWindow(x11Display, RootWindow(dummyDisplay, screenId), 0, 0, 1, 1, 0, 0, 0);
PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = 0;
glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress((const GLubyte *)"glXCreateContextAttribsARB");
int contextAttribs[] = {
        GLX_CONTEXT_MAJOR_VERSION_ARB, 3,  //
        GLX_CONTEXT_MINOR_VERSION_ARB, 3,  //
        None                               //
};
auto dummyContext = glXCreateContextAttribsARB(x11Display, dummyFBConfigs[0], nullptr, 1, contextAttribs);
// Create the GLX context and set it as current
GLXContext x11Context = static_cast<GLXContext>(dummyContext);
glXMakeCurrent(x11Display, dummyWindowId, x11Context);
std::cerr << glXGetCurrentContext() << " " << glXGetCurrentDrawable() << " " << glXGetCurrentDisplay() << std::endl;


typedef EGLBoolean ( *EGLQueryDevicesType )( EGLint, EGLDeviceEXT *, EGLint * );
auto eglQueryDevices = (EGLQueryDevicesType)eglGetProcAddress( "eglQueryDevicesEXT" );
auto eglQueryDeviceStringEXT = (PFNEGLQUERYDEVICESTRINGEXTPROC)eglGetProcAddress( "eglQueryDeviceStringEXT" );
EGLint numDevices = 0;
eglQueryDevices( 0, 0, &numDevices );

std::vector<EGLDeviceEXT> mDevices;
if( numDevices > 0 )
{
      mDevices.resize( static_cast<size_t>( numDevices ) );
      eglQueryDevices( numDevices, mDevices.data(), &numDevices );
}

for( int i = 0u; i < numDevices; ++i )
{
   EGLDeviceEXT device = mDevices[size_t( i )];
   auto name = std::string(eglQueryDeviceStringEXT( device, EGL_EXTENSIONS ));

   const char *gpuCard = eglQueryDeviceStringEXT( device, EGL_DRM_DEVICE_FILE_EXT );
   if( gpuCard ) name += std::string(" ") + gpuCard;

   std::cerr << i << " " << name << std::endl;

   EGLAttrib attribs[] = { EGL_NONE };
   auto eglDisplay = eglGetPlatformDisplay( EGL_PLATFORM_DEVICE_EXT, mDevices[i], attribs );
   EGLint major = 0, minor = 0;
   eglInitialize( eglDisplay, &major, &minor );

   const EGLint configAttribs[] = {
            EGL_SURFACE_TYPE,    EGL_PBUFFER_BIT, EGL_BLUE_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_RED_SIZE, 8,
            EGL_RENDERABLE_TYPE, EGL_OPENGL_BIT,  EGL_NONE
   };

   EGLint numConfigs;
   EGLConfig eglCfg;
   eglChooseConfig( eglDisplay, configAttribs, &eglCfg, 1, &numConfigs );
   const EGLint pbufferAttribs[] = {
            EGL_WIDTH, 1, EGL_HEIGHT, 1, EGL_NONE,
   };
   auto eglSurf = eglCreatePbufferSurface( eglDisplay, eglCfg, pbufferAttribs );
   eglBindAPI( EGL_OPENGL_API );
   EGLint contextAttrs[] = {
            EGL_CONTEXT_MAJOR_VERSION,
            4,
            EGL_CONTEXT_MINOR_VERSION,
            5,
            EGL_CONTEXT_OPENGL_PROFILE_MASK,
            EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR,
            EGL_NONE
   };

   // Create the EGL context and make it current
   auto eglCtx = eglCreateContext( eglDisplay, eglCfg, 0, contextAttrs );
   std::cerr << glXGetCurrentContext() << " " << glXGetCurrentDrawable() << " " << glXGetCurrentDisplay() << std::endl;
   auto ctx = glXGetCurrentContext(); auto dpy = glXGetCurrentDisplay(); auto drw = glXGetCurrentDrawable();  // FIX
   eglMakeCurrent( eglDisplay, eglSurf, eglSurf, eglCtx );
   glXMakeCurrent(dpy, drw, ctx);  // FIX
   std::cerr << glXGetCurrentContext() << " " << glXGetCurrentDrawable() << " " << glXGetCurrentDisplay() << std::endl;
}

}

@iche033
Copy link
Contributor

iche033 commented Dec 20, 2022

cool, thanks for digging into this! Do you mind submitting a PR with your fix?

@rgov
Copy link

rgov commented Dec 20, 2022

I found this issue while trying to run Gazebo Garden under VirtualGL inside a container. I don't mean to derail the conversation here but I have an observation:

Gazebo always crashes as described when VirtualGL is run with the EGL backend, but I have gotten it to run to a limited extent with the GLX backend. Some environments work OK (like multi_lrauv_race.sdf), and some cause an immediate crash (like tethys_at_empty_environment.sdf from the osrf/lrauv project). The crashing condition was filed as gazebosim/gz-sim#1746 and duped here. Are these really the same issue?

(I don't know enough about VirtualGL or the graphics stack to know the difference between the backends or which one should be preferred. I'd be happy if either of them worked fully.)

@iche033
Copy link
Contributor

iche033 commented Dec 20, 2022

I don't know why the different worlds from the lrauv project result in different behavior. Just looking at the ogre log in gazebosim/gz-sim#1746, it has the same errors as the one reported here about missing gl context so it could be due to the same issue.

@peci1
Copy link
Contributor Author

peci1 commented Dec 20, 2022

Here is a DEB I've built from the main branch of virtualgl with the patch from VirtualGL/virtualgl#220 (comment): virtualgl_3.0.91_amd64-fixed.zip. With this patched version of VirtualGL, the crashes no more occur to me.

However, following the discussion in the VirtualGL issue, I still think it'd make sense to also implement the fix on Gazebo side - it seems that the fact the current procedure worked is more likely to be an accident than design. It seems that mixing both GLX and EGL calls in a single program is something nobody does and we haven't found any references saying how the interaction between the two should work. I'll prepare the Gazebo PR.

@peci1 peci1 mentioned this issue Dec 20, 2022
8 tasks
@peci1
Copy link
Contributor Author

peci1 commented Dec 20, 2022

Fix in #794 .

@rgov
Copy link

rgov commented Dec 21, 2022

I cherry-picked this change to the gz-rendering7 branch then ran Gazebo Garden with @peci1's build of VirtualGL using the EGL backend, with the multi_lrauv_race.sdf world.

Indeed I no longer get the error mentioning GLXWindow::create, but it crashes reliably. However the GLX backend appears to load worlds I couldn't before (maybe a red herring).

Crash log
[GUI] [Msg] Loading plugin [gz-rendering-ogre2]
libEGL warning: DRI2: failed to create dri screen
libEGL warning: DRI2: failed to create dri screen
[VGL] ERROR: in eglMakeCurrent()--
[VGL]    815: EGL_NOT_INITIALIZED
terminate called after throwing an instance of 'backend::EGLError'
  what():  40: EGL_NOT_INITIALIZED
Stack trace (most recent call last):
#31   Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f43abb10809, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
#30   Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f43ab2aa0ef, in QApplication::notify(QObject*, QEvent*)
#29   Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f43ab2a0a65, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
#28   Object "/usr/lib/x86_64-linux-gnu/libQt5Quick.so.5", at 0x7f43aae77ca2, in QQuickItem::event(QEvent*)
#27   Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f43abb3cc29, in QObject::event(QEvent*)
#26   Object "/home/developer/gz_ws/install/lib/gz-gui-7/plugins/libMinimalScene.so", at 0x7f43850a2124, in gz::gui::plugins::RenderWindowItem::Ready()
#25   Object "/home/developer/gz_ws/install/lib/gz-gui-7/plugins/libMinimalScene.so", at 0x7f43850a1f90, in gz::gui::plugins::RenderThread::Initialize[abi:cxx11]()
#24   Object "/home/developer/gz_ws/install/lib/gz-gui-7/plugins/libMinimalScene.so", at 0x7f43850b174b, in gz::gui::plugins::RenderThreadRhiOpenGL::Initialize[abi:cxx11]()
#23   Object "/home/developer/gz_ws/install/lib/gz-gui-7/plugins/libMinimalScene.so", at 0x7f43850a48ef, in gz::gui::plugins::GzRenderer::Initialize[abi:cxx11]()
#22   Object "/home/developer/gz_ws/install/lib/libgz-rendering7.so.7", at 0x7f4385028b57, in gz::rendering::v7::RenderEngineManager::Engine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
#21   Object "/home/developer/gz_ws/install/lib/libgz-rendering7.so.7", at 0x7f4385028944, in gz::rendering::v7::RenderEngineManagerPrivate::Engine(EngineInfo, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
#20   Object "/home/developer/gz_ws/install/lib/libgz-rendering7.so.7", at 0x7f43850369a3, in gz::rendering::v7::BaseRenderEngine::Load(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
#19   Object "/home/developer/gz_ws/install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so", at 0x7f435bb86f6d, in gz::rendering::v7::Ogre2RenderEngine::LoadImpl(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)
#18   Object "/home/developer/gz_ws/install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so", at 0x7f435bb86210, in gz::rendering::v7::Ogre2RenderEngine::LoadAttempt()
#17   Object "/home/developer/gz_ws/install/lib/gz-rendering-7/engine-plugins/libgz-rendering-ogre2.so", at 0x7f435bb7fc9d, in gz::rendering::v7::Ogre2RenderEngine::LoadPlugins()
#16   Object "/lib/libvglfaker.so", at 0x7f43b1accfdb, in 
#15   Object "/lib/libvglfaker.so", at 0x7f43b1ae88e5, in 
#14   Object "/lib/libvglfaker.so", at 0x7f43b1b48f38, in 
#13   Object "/lib/libvglfaker.so", at 0x7f43b1b48d95, in 
#12   Object "/lib/libvglfaker.so", at 0x7f43b1b3f848, in 
#11   Object "/lib/libvglfaker.so", at 0x7f43b1b3ea5b, in 
#10   Object "/lib/libvglfaker.so", at 0x7f43b1add9cf, in 
#9    Object "/lib/libvglfaker.so", at 0x7f43b1b50cfd, in 
#8    Object "/lib/libvglfaker.so", at 0x7f43b1ad7e24, in 
#7    Object "/lib/libvglfaker.so", at 0x7f43b1bf5ee4, in 
#6    Object "/lib/libvglfaker.so", at 0x7f43b1bf533a, in 
#5    Object "/lib/libvglfaker.so", at 0x7f43b1be7227, in 
#4    Object "/lib/libvglfaker.so", at 0x7f43b1be7968, in 
#3    Object "/lib/libvglfaker.so", at 0x7f43b1be86a5, in 
#2    Object "/lib/libvglfaker.so", at 0x7f43b1ada785, in 
#1    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f43b159d858, in abort
#0    Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7f43b15be00b, in gsignal
Aborted (Signal sent by tkill() 60 1001)
~/.gz/rendering/ogre2.log
04:22:53: Creating resource group General
04:22:53: Creating resource group Internal
04:22:53: Creating resource group Autodetect
04:22:53: SceneManagerFactory for type 'DefaultSceneManager' registered.
04:22:53: Registering ResourceManager for type Material
04:22:53: Registering ResourceManager for type Mesh
04:22:53: Registering ResourceManager for type Mesh2
04:22:53: Registering ResourceManager for type OldSkeleton
04:22:53: MovableObjectFactory for type 'ParticleSystem' registered.
04:22:53: ArchiveFactory for archive type FileSystem registered.
04:22:53: ArchiveFactory for archive type Zip registered.
04:22:53: ArchiveFactory for archive type EmbeddedZip registered.
04:22:53: DDS codec registering
04:22:53: FreeImage version: 3.18.0
04:22:53: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
04:22:53: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,psb,cut,xbm,xpm,gif,hdr,g3,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp
04:22:53: ETC codec registering
04:22:53: OITD codec registering
04:22:53: Registering ResourceManager for type HighLevelGpuProgram
04:22:53: MovableObjectFactory for type 'Decal' registered.
04:22:53: MovableObjectFactory for type 'InternalCubemapProbe' registered.
04:22:53: MovableObjectFactory for type 'Entity' registered.
04:22:53: MovableObjectFactory for type 'Item' registered.
04:22:53: MovableObjectFactory for type 'Light' registered.
04:22:53: MovableObjectFactory for type 'Rectangle2Dv2' registered.
04:22:53: MovableObjectFactory for type 'BillboardSet' registered.
04:22:53: MovableObjectFactory for type 'ManualObject2' registered.
04:22:53: MovableObjectFactory for type 'BillboardChain' registered.
04:22:53: MovableObjectFactory for type 'RibbonTrail' registered.
04:22:53: MovableObjectFactory for type 'WireAabb' registered.
04:22:53: *-*-* OGRE Initialising
04:22:53: *-*-* Version 2.3.1 (Daedalus)
04:22:53: OverlayElementFactory for type Panel registered.
04:22:53: OverlayElementFactory for type BorderPanel registered.
04:22:53: OverlayElementFactory for type TextArea registered.
04:22:53: Registering ResourceManager for type Font
04:22:53: Loading library /usr/lib/x86_64-linux-gnu/OGRE-2.3/OGRE/RenderSystem_GL3Plus.so
04:22:53: Installing plugin: GL 3+ RenderSystem
04:22:53: OpenGL 3+ Rendering Subsystem created.
04:22:53: Found Num EGL Devices: 3
04:22:53: EGL Device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_query_name EGL_EXT_device_persistent_id #0 /dev/dri/card0
04:22:53: Trying to init device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_query_name EGL_EXT_device_persistent_id #0 /dev/dri/card0...
04:22:53: Created GL 4.5 context for device EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_query_name EGL_EXT_device_persistent_id #0 /dev/dri/card0
04:22:53: Destroying device: EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node EGL_EXT_device_query_name EGL_EXT_device_persistent_id #0 /dev/dri/card0...
04:22:53: EGL Device: EGL_EXT_device_drm #1 /dev/dri/card0
04:22:53: Trying to init device: EGL_EXT_device_drm #1 /dev/dri/card0...
04:22:53: OGRE EXCEPTION(3:RenderingAPIException): eglInitialize failed for device EGL_EXT_device_drm #1 /dev/dri/card0 in EGLSupport::getGLDisplay at /home/jenkins/workspace/ogre-2.3-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/EGL/PBuffer/OgreEglPBufferSupport.cpp (line 320)
04:22:53: OGRE EXCEPTION(3:RenderingAPIException): eglInitialize failed for device EGL_EXT_device_drm #1 /dev/dri/card0 in EGLSupport::getGLDisplay at /home/jenkins/workspace/ogre-2.3-debbuilder/repo/RenderSystems/GL3Plus/src/windowing/EGL/PBuffer/OgreEglPBufferSupport.cpp (line 320)
04:22:53: Destroying device: EGL_EXT_device_drm #1 /dev/dri/card0...
04:22:53: EGL Device: EGL_MESA_device_software #2
04:22:53: Trying to init device: EGL_MESA_device_software #2...
04:22:53: Created GL 3.3 context for device EGL_MESA_device_software #2
04:22:53: Destroying device: EGL_MESA_device_software #2...
04:22:53: Plugin successfully installed

@peci1
Copy link
Contributor Author

peci1 commented Dec 21, 2022

Actually, the PR to gz-rendering itself should be sufficient to fix the rendering issues. The patched VirtualGL binary was another approach to fix the issue "on the other end". Could you try with the non-patched VirtualGL?

I'll close this issue as the original one has been resolved. Let's continue this discussion in gazebosim/gz-sim#1746 or a new issue. You can try specifying the VirtualGL device as egl0 as apparently, /dev/dri/card0 has two way of being accessed via EGL, only one of which actually works.

@peci1 peci1 closed this as completed Dec 21, 2022
@peci1
Copy link
Contributor Author

peci1 commented Dec 22, 2022

The VirtualGL-side fix has also been implemented: VirtualGL/virtualgl#220 . So now this bug should be prevented from both sides :) I did a thorough compatibility test and all combinations I used worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants