Bug 443140 - System settings crashes after removing an installed theme and clicking Apply
Summary: System settings crashes after removing an installed theme and clicking Apply
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_desktoptheme (show other bugs)
Version: 5.22.4
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-29 21:40 UTC by medin
Modified: 2021-09-30 15:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.23
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description medin 2021-09-29 21:40:11 UTC
Steps to reproduce:

1. Install a new theme - for example ArchYellow,
2. Select Breeze theme and apply it,
3. Select ArchYellow (without applying it) and click on "Get New Global Themes" button,
4. Uninstall ArchYellow,

Expected result: 
The previously applied theme (which is Breeze theme) should be selected and "Apply" button should be disabled.

Real result:
No theme is selected in the grid and "Apply" button is still enabled.

5. If you click on "Apply" button System settings crashes.


Config:
Operating System: Manjaro Linux
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2
Kernel Version: 5.4.144-1-MANJARO (64-bit)
Graphics Platform: X11
Comment 1 medin 2021-09-30 10:39:44 UTC
The same crash can happen with Colors category.
Comment 2 David Redondo 2021-09-30 11:16:26 UTC
For crashes we need backtrace
Comment 3 medin 2021-09-30 12:45:15 UTC
(In reply to David Redondo from comment #2)
> For crashes we need backtrace

I'm on Manjaro so debugging symbol are not available, is it reproducible for you ?
Comment 4 medin 2021-09-30 12:55:30 UTC
(In reply to David Redondo from comment #2)
> For crashes we need backtrace

Here's the backtrace retrieved using coredumpctl:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `/usr/bin/systemsettings5'.
Program terminated with signal SIGSEGV, Segmentation fault.

#0  0x00007f50f3072f65 in ?? () from /usr/lib/qt/plugins/kcms/kcm_lookandfeel.so
[Current thread is 1 (Thread 0x7f5110199a80 (LWP 11907))]
(gdb) 
(gdb) bt
#0  0x00007f50f3072f65 in  () at /usr/lib/qt/plugins/kcms/kcm_lookandfeel.so
#1  0x00007f5116f009b2 in  () at /usr/lib/libKF5KCMUtils.so.5
#2  0x00007f5116f09eb8 in KCModuleProxy::save() () at /usr/lib/libKF5KCMUtils.so.5
#3  0x00007f5116f44f92 in ModuleView::moduleSave(KCModuleProxy*) () at /usr/lib/libsystemsettingsview.so.3
#4  0x00007f5116f3f657 in  () at /usr/lib/libsystemsettingsview.so.3
#5  0x00007f511589591b in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f5116557817 in QAbstractButton::clicked(bool) () at /usr/lib/libQt5Widgets.so.5
#7  0x00007f5116557ac0 in  () at /usr/lib/libQt5Widgets.so.5
#8  0x00007f5116559758 in  () at /usr/lib/libQt5Widgets.so.5
#9  0x00007f5116559989 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQt5Widgets.so.5
#10 0x00007f51164a1fce in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007f511645dff6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#12 0x00007f5116465e59 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#13 0x00007f511585e1ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#14 0x00007f51164648ff in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /usr/lib/libQt5Widgets.so.5
#15 0x00007f51164bbe98 in  () at /usr/lib/libQt5Widgets.so.5
#16 0x00007f51164bf215 in  () at /usr/lib/libQt5Widgets.so.5
#17 0x00007f511645dff6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007f511585e1ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#19 0x00007f5115d59c50 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#20 0x00007f5115d2eb15 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#21 0x00007f510fd8e800 in  () at /usr/lib/libQt5XcbQpa.so.5
#22 0x00007f51133f94dc in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#23 0x00007f511344d749 in  () at /usr/lib/libglib-2.0.so.0
#24 0x00007f51133f6bc1 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#25 0x00007f51158b7ada in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#26 0x00007f511585ca6b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#27 0x00007f5115865258 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#28 0x000055b54239d954 in  ()
#29 0x00007f51151e0b25 in __libc_start_main () at /usr/lib/libc.so.6
#30 0x000055b54239e6be in  ()
(gdb)
Comment 5 Nate Graham 2021-09-30 15:15:46 UTC
Already fixed in Plasma 5.23. :)