Bug 438708 - Settings crash after theme change
Summary: Settings crash after theme change
Status: RESOLVED DOWNSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: 5.21.5
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-06-16 03:02 UTC by Felipe Martinez
Modified: 2022-06-13 10:15 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (4.33 KB, text/plain)
2021-06-16 04:27 UTC, Tony
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felipe Martinez 2021-06-16 03:02:51 UTC
Application: systemsettings5 (5.21.5)

Qt Version: 5.15.2
Frameworks Version: 5.82.0
Operating System: Linux 5.12.9-1-default x86_64
Windowing System: Wayland
Drkonqi Version: 5.21.5
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
I changed the theme to Chameleon (builtinto openSUSE) and now I am unable to open any settings now, it all crashes.

The crash can be reproduced every time.

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

[KCrash Handler]
#4  QWidget::fontMetrics() const (this=0x0) at /usr/include/qt5/QtWidgets/qwidget.h:818
#5  chameleon::ChameleonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x5570fd0da840, element=<optimized out>, opt=0x7ffead8edc10, p=0x7ffead8edde8, w=0x0) at /usr/src/debug/qt5integration-5.1.5-1.5.x86_64/styleplugins/chameleon/chameleonstyle.cpp:1326
#6  0x00007f3212c09a41 in chameleon::ChameleonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const (this=0x5570fd0da840, cc=<optimized out>, opt=0x5570fdddabd0, p=0x7ffead8edde8, w=0x0) at /usr/src/debug/qt5integration-5.1.5-1.5.x86_64/styleplugins/chameleon/chameleonstyle.cpp:2867
#7  0x00007f31d522cd88 in KQuickStyleItem::paint(QPainter*) (painter=0x7ffead8edde8, this=0x5570fddce670) at /usr/src/debug/qqc2-desktop-style-5.82.0-1.2.x86_64/plugin/kquickstyleitem.cpp:1521
#8  KQuickStyleItem::updatePolish() (this=0x5570fddce670) at /usr/src/debug/qqc2-desktop-style-5.82.0-1.2.x86_64/plugin/kquickstyleitem.cpp:1785
#9  0x00007f3217703375 in QQuickWindowPrivate::polishItems() (this=0x5570fd369720) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-4.2.x86_64/src/quick/items/qquickwindow.cpp:393
#10 0x00007f321778de6e in QQuickRenderControl::polishItems() (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-4.2.x86_64/src/quick/items/qquickrendercontrol.cpp:277
#11 0x00007f3217a43335 in QQuickWidgetPrivate::render(bool) (this=0x5570fd9172f0, needsSync=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-4.2.x86_64/src/quickwidgets/qquickwidget.cpp:305
#12 0x00007f3218e030ec in QWidget::event(QEvent*) (this=0x5570fd8bee60, event=0x7ffead8ee1a0) at kernel/qwidget.cpp:8809
#13 0x00007f3218dc0a5f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5570fd8bee60, e=0x7ffead8ee1a0) at kernel/qapplication.cpp:3632
#14 0x00007f3218110aaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5570fd8bee60, event=0x7ffead8ee1a0) at kernel/qcoreapplication.cpp:1063
#15 0x00007f3218dfa5e6 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) (this=this@entry=0x5570fd9172f0, recursive=recursive@entry=false, disableUpdates=<optimized out>, disableUpdates@entry=false) at kernel/qwidget.cpp:7711
#16 0x00007f3218dfefd3 in QWidgetPrivate::show_helper() (this=this@entry=0x5570fd9172f0) at kernel/qwidget.cpp:7762
#17 0x00007f3218e02173 in QWidgetPrivate::setVisible(bool) (this=0x5570fd9172f0, visible=<optimized out>) at kernel/qwidget.cpp:8111
#18 0x00007f3218dfef59 in QWidgetPrivate::showChildren(bool) (this=this@entry=0x5570fd567310, spontaneous=spontaneous@entry=false) at kernel/qwidget.cpp:8183
#19 0x00007f3218dfefef in QWidgetPrivate::show_helper() (this=this@entry=0x5570fd567310) at kernel/qwidget.cpp:7768
#20 0x00007f3218e02173 in QWidgetPrivate::setVisible(bool) (this=0x5570fd567310, visible=<optimized out>) at kernel/qwidget.cpp:8111
#21 0x00007f321813d09e in QObject::event(QEvent*) (this=0x5570fd5f9f50, e=0x5570fd5ba6c0) at kernel/qobject.cpp:1314
#22 0x00007f3218dc0a5f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5570fd5f9f50, e=0x5570fd5ba6c0) at kernel/qapplication.cpp:3632
#23 0x00007f3218110aaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5570fd5f9f50, event=0x5570fd5ba6c0) at kernel/qcoreapplication.cpp:1063
#24 0x00007f3218113af7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5570fd05fae0) at kernel/qcoreapplication.cpp:1817
#25 0x00007f3218168a73 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5570fd09f1a0) at kernel/qeventdispatcher_glib.cpp:277
#26 0x00007f3215c5880f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#27 0x00007f3215c58b98 in  () at /lib64/libglib-2.0.so.0
#28 0x00007f3215c58c4f in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#29 0x00007f32181680f4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5570fd09e750, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#30 0x00007f321810f4bb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffead8ee7c0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007f3218117790 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x00005570fb6434cb in  ()
#33 0x00007f3217a76b35 in __libc_start_main () at /lib64/libc.so.6
#34 0x00005570fb64417e in _start ()
[Inferior 1 (process 2527) detached]

Reported using DrKonqi
Comment 1 Tony 2021-06-16 04:27:08 UTC
Created attachment 139360 [details]
New crash information added by DrKonqi

systemsettings5 (5.22.80) using Qt 5.15.2

Can confirm this one.

- What I was doing when the application crashed:

In my case i did not have said application style instlled, is part of the package : qt5integration

-- Backtrace (Reduced):
#4  QWidget::fontMetrics() const (this=0x0) at /usr/include/qt5/QtWidgets/qwidget.h:818
#5  chameleon::ChameleonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x5600f360bab0, element=<optimized out>, opt=0x7ffd91698360, p=0x7ffd91698538, w=0x0) at /usr/src/debug/qt5integration-5.1.5-1.5.x86_64/styleplugins/chameleon/chameleonstyle.cpp:1326
#6  0x00007f4a98575a41 in chameleon::ChameleonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const (this=0x5600f360bab0, cc=<optimized out>, opt=0x5600ef4f30b0, p=0x7ffd91698538, w=0x0) at /usr/src/debug/qt5integration-5.1.5-1.5.x86_64/styleplugins/chameleon/chameleonstyle.cpp:2867
#7  0x00007f4a86b43d88 in KQuickStyleItem::paint(QPainter*) (painter=0x7ffd91698538, this=0x5600ef1fa470) at /usr/src/debug/qqc2-desktop-style-5.84.0git.20210614T080444~568363f-ku.3.1.x86_64/plugin/kquickstyleitem.cpp:1521
#8  KQuickStyleItem::updatePolish() (this=0x5600ef1fa470) at /usr/src/debug/qqc2-desktop-style-5.84.0git.20210614T080444~568363f-ku.3.1.x86_64/plugin/kquickstyleitem.cpp:1785
Comment 2 Antonio Rojas 2021-06-16 07:06:26 UTC
The crash is in Chameleon Style. Please report this to Deepin.
Comment 3 Lukas Sommer 2022-06-13 10:15:31 UTC
This bug with using the chameleon style has been solved now: https://github.com/linuxdeepin/qt5integration/issues/49

The problem was  apparently not in the chameleon style, but in the associated dde-qt5integration. I've tested it with dde-qt5integration 5.5.17, and it does not crash any more. Following the comments in the bug report, it has been solved since dde-qt5integration 5.1.0.13.