[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