#1108183 /usr/bin/sight_viewer: sight_viewer segfaults on start

Package:
sightviewer
Source:
sightviewer
Description:
DICOM viewer
Submitter:
Jens Reyer
Date:
2026-10-06 10:11:01 UTC
Severity:
normal
#1108183#5
Date:
2025-06-22 15:09:17 UTC
From:
To:
Hi,

sight_viewer segfaults when I try to start it.

Since I'm not familiar with this package I'm only reporting this as
important, not serious. Not sure if there are other use cases for this
package or if it's just user error (and lacking documentation).

I attached the terminal output and logfile.

Thanks for maintaining!
jre

#1108183#10
Date:
2025-06-27 22:11:22 UTC
From:
To:
Control: forwarded -1 Flavien Bridault <fbridault@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,  :)

#1108183#17
Date:
2025-09-23 13:15:32 UTC
From:
To:
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
...

#1108183#22
Date:
2025-10-04 08:44:54 UTC
From:
To:
Dear Jens, Dear Etienne,

I tried to reproduce the bug in a fresh VM (VMWare) on Trixie but I
couldn't reproduce it. I think this might be linked to an unsupported
graphics hardware. Would be kind enough to run:

sightviewer --log-info

And then share with me the log in
$HOME/.cache/sight/sight_viewer/sight.0.log

That would help me to check the supported OpenGL version, amongst other
things.


Dear Bernhard,

You problem seems different since you manage to launch the app. Would
you please open another bug ? I am about to release a new version of the
package, with a bit of luck this could be fixed.


Best regards,

#1108183#27
Date:
2026-10-06 10:09:23 UTC
From:
To:
[Flavien Bridault 2025-10-04]

I ran into a similar segfault on Trixie with a Thinkpad X230, and ran
the proposed procedure.  See attached log file.  Look like it need newer
version, indeed.