Bug 431791

Summary: System settings allow selecting incompatible themes from other DEs which results in crashes
Product: [Applications] systemsettings Reporter: Martin Iliev <mapmoeu>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: nicolas.fella
Priority: NOR Keywords: drkonqi
Version: 5.20.5   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Martin Iliev 2021-01-18 17:33:40 UTC
Application: systemsettings5 (5.20.5)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.9.16-200.fc33.x86_64 x86_64
Windowing system: X11
Distribution: "Fedora release 33 (Thirty Three)"

-- Information about the crash:
- What I was doing when the application crashed:
I click on window decorations or Plasma Style. 

- Custom settings of the application:
I had ddark selected as an Application Theme. The issue reproduces 100% when I am with it and never with my other themes. This theme probably comes from my deepin DE installation. In my opinion it should not be displayed at all in the menu.

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

[KCrash Handler]
#4  0x00007f220c0d26e0 in dstyle::findDTabBar(QWidget const*) () from /usr/lib64/qt5/plugins/styles/libdstyleplugin.so
#5  0x00007f220c0d510c in dstyle::Style::drawTabBarTabLabelControl(QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/qt5/plugins/styles/libdstyleplugin.so
#6  0x00007f220c0c082a in dstyle::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/qt5/plugins/styles/libdstyleplugin.so
#7  0x00007f220c0c0841 in dstyle::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/qt5/plugins/styles/libdstyleplugin.so
#8  0x00007f21d3bf19c3 in KQuickStyleItem::updatePolish() () from /usr/lib64/qt5/qml/org/kde/qqc2desktopstyle/private/libqqc2desktopstyleplugin.so
#9  0x00007f221eb16429 in QQuickWindowPrivate::polishItems() () from /lib64/libQt5Quick.so.5
#10 0x00007f221eba60f2 in QQuickRenderControl::polishItems() () from /lib64/libQt5Quick.so.5
#11 0x00007f221ee4cc45 in QQuickWidgetPrivate::render(bool) () from /lib64/libQt5QuickWidgets.so.5
#12 0x00007f2220263574 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#13 0x00007f2220221ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#14 0x00007f221f691bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#15 0x00007f222025ab0e in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /lib64/libQt5Widgets.so.5
#16 0x00007f222025f497 in QWidgetPrivate::show_helper() () from /lib64/libQt5Widgets.so.5
#17 0x00007f2220262653 in QWidgetPrivate::setVisible(bool) () from /lib64/libQt5Widgets.so.5
#18 0x00007f222025f421 in QWidgetPrivate::showChildren(bool) () from /lib64/libQt5Widgets.so.5
#19 0x00007f222025f4b3 in QWidgetPrivate::show_helper() () from /lib64/libQt5Widgets.so.5
#20 0x00007f2220262653 in QWidgetPrivate::setVisible(bool) () from /lib64/libQt5Widgets.so.5
#21 0x00007f222025f421 in QWidgetPrivate::showChildren(bool) () from /lib64/libQt5Widgets.so.5
#22 0x00007f222025f4b3 in QWidgetPrivate::show_helper() () from /lib64/libQt5Widgets.so.5
#23 0x00007f222025f439 in QWidgetPrivate::showChildren(bool) () from /lib64/libQt5Widgets.so.5
#24 0x00007f222025f4b3 in QWidgetPrivate::show_helper() () from /lib64/libQt5Widgets.so.5
#25 0x00007f2220262653 in QWidgetPrivate::setVisible(bool) () from /lib64/libQt5Widgets.so.5
#26 0x00007f222025f421 in QWidgetPrivate::showChildren(bool) () from /lib64/libQt5Widgets.so.5
#27 0x00007f222025f4b3 in QWidgetPrivate::show_helper() () from /lib64/libQt5Widgets.so.5
#28 0x00007f2220262653 in QWidgetPrivate::setVisible(bool) () from /lib64/libQt5Widgets.so.5
#29 0x00007f2220247777 in QStackedLayout::setCurrentIndex(int) () from /lib64/libQt5Widgets.so.5
#30 0x00007f22209a69ce in KPageView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libKF5WidgetsAddons.so.5
#31 0x00007f221f6c13c0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#32 0x00007f221f6562fb in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) () from /lib64/libQt5Core.so.5
#33 0x00007f221f65e5b6 in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /lib64/libQt5Core.so.5
#34 0x00007f221f659cd1 in QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /lib64/libQt5Core.so.5
#35 0x00007f221f657a94 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /lib64/libQt5Core.so.5
#36 0x00007f22209a6868 in KPageView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libKF5WidgetsAddons.so.5
#37 0x00007f221f6c13c0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#38 0x00007f221f64865a in QAbstractItemModel::layoutChanged(QList<QPersistentModelIndex> const&, QAbstractItemModel::LayoutChangeHint) () from /lib64/libQt5Core.so.5
#39 0x00007f22209a6d90 in KPageWidgetModel::addPage(KPageWidgetItem*) () from /lib64/libKF5WidgetsAddons.so.5
#40 0x00007f2220c96610 in ModuleView::loadModule(QModelIndex const&, QStringList const&) () from /lib64/libsystemsettingsview.so.3
#41 0x00007f21f808cf3a in SidebarMode::loadModule(QModelIndex const&, QStringList const&) [clone .part.0] () from /usr/lib64/qt5/plugins/systemsettings_sidebar_mode.so
#42 0x00007f21f8090541 in SidebarMode::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib64/qt5/plugins/systemsettings_sidebar_mode.so
#43 0x00007f21f8090b33 in SidebarMode::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt5/plugins/systemsettings_sidebar_mode.so
#44 0x00007f221e70ccf5 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () from /lib64/libQt5Qml.so.5
#45 0x00007f221e615149 in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () from /lib64/libQt5Qml.so.5
#46 0x00007f221e61659b in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /lib64/libQt5Qml.so.5
#47 0x00007f221e62b9dd in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () from /lib64/libQt5Qml.so.5
#48 0x00007f221e631775 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) [clone .part.0] () from /lib64/libQt5Qml.so.5
#49 0x00007f221e5d07bd in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /lib64/libQt5Qml.so.5
#50 0x00007f221e72be71 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /lib64/libQt5Qml.so.5
#51 0x00007f221e6e8011 in QQmlBoundSignalExpression::evaluate(void**) () from /lib64/libQt5Qml.so.5
#52 0x00007f221e6e9a63 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () from /lib64/libQt5Qml.so.5
#53 0x00007f221e70cc0d in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /lib64/libQt5Qml.so.5
#54 0x00007f221f6c12f2 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#55 0x00007f220c3d6081 in QQuickAbstractButtonPrivate::handleRelease(QPointF const&) () from /lib64/libQt5QuickTemplates2.so.5
#56 0x00007f220c3f0af9 in QQuickControl::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5QuickTemplates2.so.5
#57 0x00007f221eb097f9 in QQuickItem::event(QEvent*) () from /lib64/libQt5Quick.so.5
#58 0x00007f2220221ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#59 0x00007f221f691bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#60 0x00007f221eb1d555 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () from /lib64/libQt5Quick.so.5
#61 0x00007f221eb1dee3 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () from /lib64/libQt5Quick.so.5
#62 0x00007f221fbd37b5 in QWindow::event(QEvent*) () from /lib64/libQt5Gui.so.5
#63 0x00007f2220221ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#64 0x00007f221f691bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#65 0x00007f221ee5199b in QQuickWidget::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5QuickWidgets.so.5
#66 0x00007f2220262b1e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#67 0x00007f2220221ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#68 0x00007f2220228eeb in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#69 0x00007f221f691bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#70 0x00007f2220227efa in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#71 0x00007f222027b375 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#72 0x00007f222027e6be in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#73 0x00007f2220221ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#74 0x00007f221f691bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#75 0x00007f221fbc8143 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#76 0x00007f221fba98cc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#77 0x00007f220d12d47e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#78 0x00007f221d41396f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#79 0x00007f221d465758 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#80 0x00007f221d410d43 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#81 0x00007f221f6de6f3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#82 0x00007f221f69057b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#83 0x00007f221f6981b4 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#84 0x00005598bcc80414 in main ()
[Inferior 1 (process 24362) detached]

The reporter indicates this bug may be a duplicate of or related to bug 388442.

Possible duplicates by query: bug 418398, bug 416691, bug 410600, bug 399051, bug 388442.

Reported using DrKonqi
Comment 1 Nicolas Fella 2021-01-18 18:43:41 UTC
Technically any QStyle can be used on Plasma so there's no reason to filter anything.

The fact that it crashes is a bug in that particular style and should be reported/fixed there