Bug 444519

Summary: System Settings crashes in Breeze::BoxShadowRenderer::addShadow() upon opening Window Decoration Module
Product: [Plasma] Breeze Reporter: ryu.ketsueki
Component: window decorationAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: jodr666, nate
Priority: NOR Keywords: drkonqi
Version: master   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description ryu.ketsueki 2021-10-28 04:50:19 UTC
Application: kcmshell5 (5.23.80)

Qt Version: 5.15.2
Frameworks Version: 5.88.0
Operating System: Linux 5.14.11-2-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.23.80 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:

Just trying to change configurations for window decorations on System Settings

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings Module (kcmshell5), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f10886be8d1 in QVector<Breeze::BoxShadowRenderer::Shadow>::realloc(int, QFlags<QArrayData::AllocationOption>) () from /lib/libbreezecommon5.so.5
#5  0x00007f10886be558 in QVector<Breeze::BoxShadowRenderer::Shadow>::append(Breeze::BoxShadowRenderer::Shadow const&) () from /lib/libbreezecommon5.so.5
#6  0x00007f10886bd29d in Breeze::BoxShadowRenderer::addShadow(QPoint const&, int, QColor const&) () from /lib/libbreezecommon5.so.5
#7  0x00007f108870d27b in Breeze::Decoration::createShadowObject (this=this@entry=0x55cfeed87110, strengthScale=<optimized out>) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:778
#8  0x00007f108870da07 in Breeze::Decoration::updateShadow (this=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:761
#9  0x00007f1088705420 in Breeze::Decoration::reconfigure (this=this@entry=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:397
#10 0x00007f10887061ad in Breeze::Decoration::init (this=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:238
#11 0x00007f1088f22f6f in KDecoration2::Preview::PreviewButtonItem::createButton (this=0x55cfeee85db0) at /usr/src/debug/kwin5-5.23.80git.20211027T114900~1626d7a51a-ku.22.1.x86_64/src/kcmkwin/kwindecoration/declarative-plugin/previewbutton.cpp:101
#12 0x00007f10a1476322 in QQmlObjectCreator::finalize (this=0x55cfee9cf800, interrupt=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qml/qml/qqmlobjectcreator.cpp:1414
#13 0x00007f10a140ca95 in QQmlIncubatorPrivate::incubate (this=0x55cfeecc1d20, i=...) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#14 0x00007f10a140d08d in QQmlEnginePrivate::incubate (this=0x55cfee9c07a0, i=..., forContext=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qml/qml/qqmlincubator.cpp:89
#15 0x00007f109fdac12c in QQmlDelegateModelPrivate::object (this=0x55cfeed200f0, group=QQmlListCompositor::Default, index=0, incubationMode=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qmlmodels/qqmldelegatemodel.cpp:1299
#16 0x00007f10a1948cf6 in QQuickItemViewPrivate::createItem (this=this@entry=0x55cfeed31d70, modelIndex=modelIndex@entry=0, incubationMode=incubationMode@entry=QQmlIncubator::AsynchronousIfNested) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/quick/items/qquickitemview.cpp:2349
#17 0x00007f10a193acbd in QQuickGridViewPrivate::addVisibleItems (this=0x55cfeed31d70, fillFrom=-0, fillTo=0, bufferFrom=<optimized out>, bufferTo=<optimized out>, doBuffer=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/quick/items/qquickgridview.cpp:520
#18 0x00007f10a1949d90 in QQuickItemViewPrivate::refill (this=0x55cfeed31d70, from=-0, to=0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/quick/items/qquickitemview.cpp:1801
#19 0x00007f10a194fa88 in QQuickItemView::componentComplete (this=0x55cfeed1fa40) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/quick/items/qquickitemview.cpp:1496
#20 0x00007f10a1476322 in QQmlObjectCreator::finalize (this=0x55cfee9f6650, interrupt=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qml/qml/qqmlobjectcreator.cpp:1414
#21 0x00007f10a140ca95 in QQmlIncubatorPrivate::incubate (this=0x55cfee93f370, i=...) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#22 0x00007f10a140d08d in QQmlEnginePrivate::incubate (this=0x55cfee9c07a0, i=..., forContext=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qml/qml/qqmlincubator.cpp:89
#23 0x00007f10a14069cb in QQmlComponent::create (this=<optimized out>, incubator=..., context=<optimized out>, forContext=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-ku.1.1.x86_64/src/qml/qml/qqmlcomponent.cpp:1178
#24 0x00007f10a1c8b8da in KDeclarative::QmlObject::completeInitialization (initialProperties=..., this=0x55cfee9b7480) at /usr/src/debug/kdeclarative-5.88.0git.20211022T144954~9c2702e-ku.4.2.x86_64/src/kdeclarative/qmlobject.cpp:307
#25 KDeclarative::QmlObject::completeInitialization (this=0x55cfee9b7480, initialProperties=...) at /usr/src/debug/kdeclarative-5.88.0git.20211022T144954~9c2702e-ku.4.2.x86_64/src/kdeclarative/qmlobject.cpp:289
#26 0x00007f10a39d3e83 in KQuickAddons::ConfigModule::mainUi (this=this@entry=0x55cfee9a9ad0) at /usr/src/debug/kdeclarative-5.88.0git.20211022T144954~9c2702e-ku.4.2.x86_64/src/quickaddons/configmodule.cpp:178
#27 0x00007f10a3a358e5 in KCModuleLoader::loadModule (metaData=..., parent=0x55cfee9a8a50, args=...) at /usr/src/debug/kcmutils-5.88.0git.20211027T091158~54b196a-ku.3.1.x86_64/src/kcmoduleloader.cpp:84
#28 0x00007f10a3a4346e in KCModuleProxyPrivate::loadModule (this=this@entry=0x55cfee9a8e00) at /usr/src/debug/kcmutils-5.88.0git.20211027T091158~54b196a-ku.3.1.x86_64/src/kcmoduleproxy.cpp:115
#29 0x00007f10a3a43a68 in KCModuleProxy::realModule (this=<optimized out>) at /usr/src/debug/kcmutils-5.88.0git.20211027T091158~54b196a-ku.3.1.x86_64/src/kcmoduleproxy.cpp:59
#30 0x00007f10a3a39f26 in KCMultiDialog::addModule (this=this@entry=0x55cfee98ceb0, metaData=..., args=...) at /usr/src/debug/kcmutils-5.88.0git.20211027T091158~54b196a-ku.3.1.x86_64/src/kcmultidialog.cpp:498
#31 0x000055cfed8728c3 in main (_argc=<optimized out>, _argv=0x7fff708f8f70) at /usr/src/debug/kde-cli-tools5-5.23.80git.20211015T210859~5ab245f-ku.4.2.x86_64/kcmshell/main.cpp:303
[Inferior 1 (process 11727) detached]

Reported using DrKonqi
Comment 1 Tony 2021-10-28 07:30:32 UTC
Can't repreduce.
If by any chance you have any other decoration installed remove them and try again.
You can find them here : ~/.local/share/aurorae/themes/
Comment 2 ryu.ketsueki 2021-10-28 11:13:39 UTC
I don't have Aurorae Window Decorations installed, only Breeze forks compiled from source and installed using 'make install', more specifically ClassikStyles and Lightly. Recently I have built the two against the commits I have of their respective dependencies so I'm not sure what could be causing the crash, if they really are being caused by a window decoration. Both Lightly and ClassikStyles also have an Application Style, also forked from Breeze but those don't crash System Settings. However, they do with Window Decorations. Is there a way of finding out which of the two, or if both are causing the issue?
Comment 3 ryu.ketsueki 2021-10-28 11:15:04 UTC
That and the two are working perfectly fine without any crashes on their own and making changes to their respective configuration files. The issue must be on how System Settings is seeing them.
Comment 4 ryu.ketsueki 2021-10-28 11:27:29 UTC
One quick note. Anticipating this kind of suggestion, I attempted to uninstall ClassikStyles and Lightly using their respective 'make uninstall' and it crashed KWin immediately after restarting and the problem on System Settings crashing when attempting to open the Window Decoration section persists
Comment 5 Nate Graham 2021-10-28 14:44:17 UTC
Crashing in Breeze shadow code:


#4  0x00007f10886be8d1 in QVector<Breeze::BoxShadowRenderer::Shadow>::realloc(int, QFlags<QArrayData::AllocationOption>) () from /lib/libbreezecommon5.so.5
#5  0x00007f10886be558 in QVector<Breeze::BoxShadowRenderer::Shadow>::append(Breeze::BoxShadowRenderer::Shadow const&) () from /lib/libbreezecommon5.so.5
#6  0x00007f10886bd29d in Breeze::BoxShadowRenderer::addShadow(QPoint const&, int, QColor const&) () from /lib/libbreezecommon5.so.5
#7  0x00007f108870d27b in Breeze::Decoration::createShadowObject (this=this@entry=0x55cfeed87110, strengthScale=<optimized out>) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:778
#8  0x00007f108870da07 in Breeze::Decoration::updateShadow (this=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:761
#9  0x00007f1088705420 in Breeze::Decoration::reconfigure (this=this@entry=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:397
#10 0x00007f10887061ad in Breeze::Decoration::init (this=0x55cfeed87110) at /usr/src/debug/breeze-5.23.80git.20211024T011602~945ba0cc-ku.4.2.x86_64/kdecoration/breezedecoration.cpp:238
Comment 6 ryu.ketsueki 2021-11-08 01:18:09 UTC
Has there been any development in fixing this? I know it's not easily replicated but so far it's not allowing me to change anything regarding window decorations. Both Window Manager Settings Module and System Settings itself crash if trying to get open those settings.
Comment 7 Nate Graham 2021-12-09 17:38:11 UTC
*** Bug 445788 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2022-01-20 22:21:47 UTC
*** Bug 448798 has been marked as a duplicate of this bug. ***
Comment 9 ryu.ketsueki 2022-03-17 22:56:58 UTC
Turns out it was a lib issue. There was an extremely old version of libbreezecommon5 that wasn't cleaned by the system for being just a 32bit lib. I deleted the link and the 64bit library is now being used instead.