[Debian-med-packaging] Bug#1108183: /usr/bin/sight_viewer: sight_viewer segfaults on start

Bernhard Übelacker bernhardu at mailbox.org
Tue Sep 23 14:15:32 BST 2025


On Sat, 28 Jun 2025 00:11:22 +0200 =?utf-8?Q?=C3=89tienne?= Mollier <emollier at debian.org> wrote:
> Control: forwarded -1 Flavien Bridault <fbridault at ircad.fr>
> 
> 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 <emollier at debian.org>
>  : :' :  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 at entry=0x555558ce5770) at ./OgreMain/src/OgreSceneManager.cpp:1693
#3  0x00007fffd66e900b in Ogre::SceneManager::_renderVisibleObjects (this=this at 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 at entry=0x555558c81190, op=op at entry=0x555558d066d0, sm=sm at entry=0x555558ce5770, rs=0x5555580d7ed0) at ./OgreMain/src/OgreCompositorChain.cpp:590
590         mRenderSystem = rs;
(gdb) bt 20
#0  Ogre::CompositorChain::RQListener::setOperation (this=this at entry=0x555558c81190, op=op at entry=0x555558d066d0, sm=sm at entry=0x555558ce5770, rs=0x5555580d7ed0) at ./OgreMain/src/OgreCompositorChain.cpp:590
#1  0x00007fffd656a912 in Ogre::CompositorChain::preTargetOperation (this=this at entry=0x555558c81090, op=..., vp=0x555559eae3e0, cam=cam at 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
...



More information about the Debian-med-packaging mailing list