On Sat, 28 Jun 2025 00:11:22 +0200 =?utf-8?Q?=C3=89tienne?= Mollier 
<[email protected]> wrote:
Control: forwarded -1 Flavien Bridault <[email protected]>

Hi Jens,

Thank you for having taken the time to wrap up that report.
I attempted to have a look at this, and results seem rather
variable depending on the context of the rendering.  I have
managed to run sight_viewer alright in virtual machine context
on Xorg, but on the same virtual machine, using a sway desktop
resulted in a crash at an earlier point than yours.

I then tried to recheck on real hardware, and this time I
reproduced the error and informational messages you report.
I'm not entirely convinced by my Xorg vs Wayland hypothesis,
because the problem reproduces whether I attempt to spawn
sight_viewer in my Wayland based Sway environment or in Xvfb
context.  In case that matters, I use an amdgpu, while I have
not injected dedicated gpu support within the virtual machine.
I may have a fresher look at this at a more reasonable hour of
the day.

I have added Flavien Bridault in carbon copy, in case he has
some ideas on the topic.  Flavien, have you run into Debian bug
#1108183 per chance, or need help to reproduce problems?

Have a nice day,  :)
--
  .''`.  Étienne Mollier <[email protected]>
 : :' :  pgp: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
 `. `'   sent from /dev/pts/4, please excuse my verbosity
   `-    on air: Jörg Hering, Harry van der Kamp, Wiener Säng…


Hello,
I tried if I can reproduce the crash.
And I get one with a VM, with acceleration enabled [1],
running a current minimal Debian Trixie.

The SIGSEGV manifests when clicking in the upper right corner
at the "Close parameters" arrow.

The segfault happens because in [2] the variable mSceneManager
contains a NULL, but gets dereferenced unconditionally.

Unfortunately this RQListener object looks like getting re-created
a few times, therefore getting the mSceneManager initilized to NULL.

At startup the mSceneManager gets initialized in a backtrace like in [3],
but for some unknown reason this does not happen right
before the crash (without knowing how it fits all together).

I hope this could be of some help.

Kind regards,
Bernhard



[1] -device virtio-vga-gl -display gtk,gl=on



[2] Where the actual crash happens because mSceneManager is NULL:
Thread 1 "sightrun" received signal SIGSEGV, Segmentation fault.
0x00007fffd656aa28 in Ogre::CompositorChain::RQListener::renderQueueStarted 
(this=0x555558c81190, id=0 '\000', invocation="", 
skipThisQueue=@0x7fffffff7a57: false) at ./OgreMain/src/OgreCompositorChain.cpp:569
569         if (mSceneManager->getCurrentViewport() != mViewport)
(gdb) bt
#0  0x00007fffd656aa28 in Ogre::CompositorChain::RQListener::renderQueueStarted 
(this=0x555558c81190, id=0 '\000', invocation="", 
skipThisQueue=@0x7fffffff7a57: false) at ./OgreMain/src/OgreCompositorChain.cpp:569
#1  0x00007fffd66e3526 in Ogre::SceneManager::fireRenderQueueStarted (this=<optimized 
out>, id=0 '\000', invocation="") at ./OgreMain/src/OgreSceneManager.cpp:2634
#2  0x00007fffd66e8fca in 
Ogre::SceneManager::renderVisibleObjectsDefaultSequence 
(this=this@entry=0x555558ce5770) at ./OgreMain/src/OgreSceneManager.cpp:1693
#3  0x00007fffd66e900b in Ogre::SceneManager::_renderVisibleObjects 
(this=this@entry=0x555558ce5770) at ./OgreMain/src/OgreSceneManager.cpp:1619
#4  0x00007fffd66ef52a in Ogre::SceneManager::_renderScene (this=0x555558ce5770, 
camera=0x555558ceb6f0, vp=<optimized out>, includeOverlays=<optimized out>) at 
./OgreMain/src/OgreSceneManager.cpp:1383
#5  0x00007fffd655ada9 in Ogre::Camera::_renderScene (this=0x555558ceb6f0, 
vp=0x555559ea6a20, includeOverlays=true) at ./OgreMain/src/OgreCamera.cpp:495
#6  0x00007fffd67a4fa9 in Ogre::Viewport::update (this=<optimized out>) at 
./OgreMain/src/OgreViewport.cpp:218
#7  0x00007fffd66b37f8 in Ogre::RenderTarget::_updateViewport 
(this=0x555559e75ff0, viewport=0x555559ea6a20, updateStatistics=true) at 
./OgreMain/src/OgreRenderTarget.cpp:203
#8  0x00007fffd66b2bf3 in Ogre::RenderTarget::_updateAutoUpdatedViewports 
(this=0x555559e75ff0, updateStatistics=true) at 
./OgreMain/src/OgreRenderTarget.cpp:181
#9  0x00007fffd66b3a00 in Ogre::RenderTarget::updateImpl (this=0x555559e75ff0) 
at ./OgreMain/src/OgreRenderTarget.cpp:158
#10 0x00007fffd66b33e8 in Ogre::RenderTarget::update (this=0x555559e75ff0, 
swap=false) at ./OgreMain/src/OgreRenderTarget.cpp:565
#11 0x00007fffe3fb3ec3 in sight::module::viz::scene3d_qt::window::paintGL 
(this=0x55555825c440) at ./modules/viz/scene3d_qt/window.cpp:774
#12 0x00007fffeddc62d5 in ?? () from 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
...
(gdb) print mSceneManager
$2 = (Ogre::SceneManager *) 0x0




[3] Where mSceneManager gets set when no crash follows:
Thread 1 "sightrun" hit Hardware watchpoint 2: *0x555558c811a0

Old value = 0
New value = 1489917808
Ogre::CompositorChain::RQListener::setOperation 
(this=this@entry=0x555558c81190, op=op@entry=0x555558d066d0, 
sm=sm@entry=0x555558ce5770, rs=0x5555580d7ed0) at 
./OgreMain/src/OgreCompositorChain.cpp:590
590         mRenderSystem = rs;
(gdb) bt 20
#0  Ogre::CompositorChain::RQListener::setOperation 
(this=this@entry=0x555558c81190, op=op@entry=0x555558d066d0, 
sm=sm@entry=0x555558ce5770, rs=0x5555580d7ed0) at 
./OgreMain/src/OgreCompositorChain.cpp:590
#1  0x00007fffd656a912 in Ogre::CompositorChain::preTargetOperation 
(this=this@entry=0x555558c81090, op=..., vp=0x555559eae3e0, 
cam=cam@entry=0x555558ceb6f0) at ./OgreMain/src/OgreCompositorChain.cpp:368
#2  0x00007fffd656b75c in Ogre::CompositorChain::preRenderTargetUpdate 
(evt=..., this=0x555558c81090) at ./OgreMain/src/OgreCompositorChain.cpp:313
#3  Ogre::CompositorChain::preRenderTargetUpdate (this=0x555558c81090, evt=...) 
at ./OgreMain/src/OgreCompositorChain.cpp:280
#4  0x00007fffd66b39e1 in Ogre::RenderTarget::firePreUpdate 
(this=0x555558cc4790) at ./OgreMain/src/OgreRenderTarget.cpp:370
#5  Ogre::RenderTarget::_beginUpdate (this=0x555558cc4790) at 
./OgreMain/src/OgreRenderTarget.cpp:165
#6  Ogre::RenderTarget::updateImpl (this=0x555558cc4790) at 
./OgreMain/src/OgreRenderTarget.cpp:157
#7  0x00007fffd66b33e8 in Ogre::RenderTarget::update (this=0x555558cc4790, 
swap=false) at ./OgreMain/src/OgreRenderTarget.cpp:565
#8  0x00007fffe3fb3ec3 in sight::module::viz::scene3d_qt::window::paintGL 
(this=0x55555825c440) at ./modules/viz/scene3d_qt/window.cpp:774
#9  0x00007fffeddc62d5 in ?? () from 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
...

Reply via email to