Bug 405405 - System settings crashes on close after I try to install an invalid file
Summary: System settings crashes on close after I try to install an invalid file
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_gtk (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords: drkonqi
: 408172 409683 412652 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-03-12 20:55 UTC by Patrick Silva
Modified: 2020-01-11 22:35 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.18.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2019-03-12 20:55:43 UTC
Application: systemsettings5 (5.15.3)

Qt Version: 5.12.1
Frameworks Version: 5.56.0
Operating System: Linux 5.0.0-arch1-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
go to https://store.kde.org/p/1160290
download the tar.gz. file under "File" tab
open kde-gtk-config kcm
click "Get new gnome/gtk application styles" > "Install a local theme..."
in step 1, select the tar.gz that you file downloaded
the error "This gtk theme cannot be installed" appears below the file path
click "Close" button
close system settings
plasma shows crash notification

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5e5e862840 (LWP 1186))]

Thread 5 (Thread 0x7f5e4d018700 (LWP 1192)):
#0  0x00007f5e63bfa774 in __GI___libc_read (nbytes=16, buf=0x7f5e4d017b20, fd=12) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f5e63bfa774 in __GI___libc_read (fd=12, buf=0x7f5e4d017b20, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f5e5fe61961 in read (__nbytes=16, __buf=0x7f5e4d017b20, __fd=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:44
#3  0x00007f5e5fe61961 in g_wakeup_acknowledge (wakeup=0x7f5e500039a0) at ../glib/glib/gwakeup.c:210
#4  0x00007f5e5feb1e40 in g_main_context_check (context=context@entry=0x7f5e44000bf0, max_priority=2147483647, fds=fds@entry=0x7f5e44004a30, n_fds=n_fds@entry=1) at ../glib/glib/gmain.c:3705
#5  0x00007f5e5feb3636 in g_main_context_iterate (context=context@entry=0x7f5e44000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3924
#6  0x00007f5e5feb377e in g_main_context_iteration (context=0x7f5e44000bf0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3988
#7  0x00007f5e64133d04 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5e44000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#8  0x00007f5e640dcb2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5e4d017d40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#9  0x00007f5e63f20569 in QThread::exec() (this=this@entry=0x559c6b905950) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#10 0x00007f5e632ae969 in QQmlThreadPrivate::run() (this=0x559c6b905950) at /home/strangiato/qt5-declarative/src/qtdeclarative-everywhere-src-5.12.1/src/qml/qml/ftw/qqmlthread.cpp:148
#11 0x00007f5e63f2196c in QThreadPrivate::start(void*) (arg=0x559c6b905950) at thread/qthread_unix.cpp:361
#12 0x00007f5e625c9a9d in start_thread (arg=<optimized out>) at pthread_create.c:486
#13 0x00007f5e63c09af3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f5e55a84700 (LWP 1189)):
#0  0x00007f5e625cfafc in futex_wait_cancelable (private=0, expected=0, futex_word=0x559c6b2fb6c8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f5e625cfafc in __pthread_cond_wait_common (abstime=0x0, mutex=0x559c6b2fb678, cond=0x559c6b2fb6a0) at pthread_cond_wait.c:502
#2  0x00007f5e625cfafc in __pthread_cond_wait (cond=0x559c6b2fb6a0, mutex=0x559c6b2fb678) at pthread_cond_wait.c:655
#3  0x00007f5e560a6c94 in cnd_wait (mtx=0x559c6b2fb678, cond=0x559c6b2fb6a0) at ../mesa-18.3.4/src/../include/c11/threads_posix.h:155
#4  0x00007f5e560a6c94 in util_queue_thread_func (input=input@entry=0x559c6b3d9bc0) at ../mesa-18.3.4/src/util/u_queue.c:270
#5  0x00007f5e560a69b8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.3.4/src/../include/c11/threads_posix.h:87
#6  0x00007f5e625c9a9d in start_thread (arg=<optimized out>) at pthread_create.c:486
#7  0x00007f5e63c09af3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f5e57fff700 (LWP 1188)):
#0  0x00007f5e63bfa76b in __GI___libc_read (nbytes=16, buf=0x7f5e57ffeb10, fd=7) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f5e63bfa76b in __GI___libc_read (fd=7, buf=0x7f5e57ffeb10, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f5e5fe61961 in read (__nbytes=16, __buf=0x7f5e57ffeb10, __fd=<optimized out>, __fd=<optimized out>, __buf=<optimized out>, __nbytes=<optimized out>) at /usr/include/bits/unistd.h:44
#3  0x00007f5e5fe61961 in g_wakeup_acknowledge (wakeup=0x559c6b30b4b0) at ../glib/glib/gwakeup.c:210
#4  0x00007f5e5feb1e40 in g_main_context_check (context=context@entry=0x7f5e50000bf0, max_priority=2147483647, fds=fds@entry=0x7f5e50004e30, n_fds=n_fds@entry=1) at ../glib/glib/gmain.c:3705
#5  0x00007f5e5feb3636 in g_main_context_iterate (context=context@entry=0x7f5e50000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3924
#6  0x00007f5e5feb377e in g_main_context_iteration (context=0x7f5e50000bf0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3988
#7  0x00007f5e64133d04 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5e50000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#8  0x00007f5e640dcb2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5e57ffed30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#9  0x00007f5e63f20569 in QThread::exec() (this=this@entry=0x7f5e64423080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#10 0x00007f5e643a7ba6 in QDBusConnectionManager::run() (this=0x7f5e64423080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#11 0x00007f5e63f2196c in QThreadPrivate::start(void*) (arg=0x7f5e64423080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#12 0x00007f5e625c9a9d in start_thread (arg=<optimized out>) at pthread_create.c:486
#13 0x00007f5e63c09af3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f5e5da70700 (LWP 1187)):
#0  0x00007f5e63bfebf1 in __GI___poll (fds=0x7f5e5da6fc78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5e6258a630 in  () at /usr/lib/libxcb.so.1
#2  0x00007f5e6258c2db in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f5e5e419949 in QXcbEventQueue::run() (this=0x559c6b2c3640) at qxcbeventqueue.cpp:228
#4  0x00007f5e63f2196c in QThreadPrivate::start(void*) (arg=0x559c6b2c3640) at thread/qthread_unix.cpp:361
#5  0x00007f5e625c9a9d in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f5e63c09af3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f5e5e862840 (LWP 1186)):
[KCrash Handler]
#6  0x00007f5e6410d32d in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) (sender=0x559c6bcaf150, signal=0x0, receiver=0x7f5e58007230, method=0x0) at kernel/qobject.cpp:2996
#7  0x00007f5e4377f52d in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#8  0x00007f5e4377f5f9 in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#9  0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6ba5e4f0) at kernel/qobject.cpp:2006
#10 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6ba4df80, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#11 0x00007f5e654ac762 in KCModule::~KCModule() () at /usr/lib/libKF5ConfigWidgets.so.5
#12 0x00007f5e43773769 in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#13 0x00007f5e656844e4 in KCModuleProxy::deleteClient() () at /usr/lib/libKF5KCMUtils.so.5
#14 0x00007f5e65684590 in KCModuleProxy::~KCModuleProxy() () at /usr/lib/libKF5KCMUtils.so.5
#15 0x00007f5e6568475a in KCModuleProxy::~KCModuleProxy() () at /usr/lib/libKF5KCMUtils.so.5
#16 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6ba49c10) at kernel/qobject.cpp:2006
#17 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6ba49950, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#18 0x00007f5e64b7f4aa in QWidget::~QWidget() (this=0x559c6ba49950, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1564
#19 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b97fea0) at kernel/qobject.cpp:2006
#20 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6ba49b20, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#21 0x00007f5e64cd561a in QScrollArea::~QScrollArea() (this=0x559c6ba49b20, __in_chrg=<optimized out>) at widgets/qscrollarea.cpp:170
#22 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b4d1630) at kernel/qobject.cpp:2006
#23 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b743e40, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#24 0x00007f5e653cb10e in  () at /usr/lib/libKF5WidgetsAddons.so.5
#25 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b7448a0) at kernel/qobject.cpp:2006
#26 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b72bfc0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#27 0x00007f5e653b405a in KPageWidget::~KPageWidget() () at /usr/lib/libKF5WidgetsAddons.so.5
#28 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b744550) at kernel/qobject.cpp:2006
#29 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b74b5b0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#30 0x00007f5e656c4f8a in ModuleView::~ModuleView() (this=0x559c6b74b5b0, __in_chrg=<optimized out>) at /usr/src/debug/systemsettings-5.15.3/core/ModuleView.cpp:115
#31 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b473bd0) at kernel/qobject.cpp:2006
#32 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b74b4e0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#33 0x00007f5e64ceb67a in QStackedWidget::~QStackedWidget() (this=0x559c6b74b4e0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:145
#34 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b3579d0) at kernel/qobject.cpp:2006
#35 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b345d50, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#36 0x00007f5e64ceb67a in QStackedWidget::~QStackedWidget() (this=0x559c6b345d50, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:145
#37 0x00007f5e641067ab in QObjectPrivate::deleteChildren() (this=this@entry=0x559c6b351a70) at kernel/qobject.cpp:2006
#38 0x00007f5e64b7f28f in QWidget::~QWidget() (this=0x559c6b33aa80, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1702
#39 0x00007f5e655c6e55 in KMainWindow::~KMainWindow() () at /usr/lib/libKF5XmlGui.so.5
#40 0x0000559c6a67a38f in SettingsBase::~SettingsBase() (this=0x559c6b33aa80, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/include/c++/8.2.1/bits/atomic_base.h:303
#41 0x0000559c6a67a3f9 in SettingsBase::~SettingsBase() (this=0x559c6b33aa80, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/systemsettings-5.15.3/app/SettingsBase.cpp:74
#42 0x00007f5e64109171 in QObject::event(QEvent*) (this=this@entry=0x559c6b33aa80, e=e@entry=0x559c6bf64930) at kernel/qobject.cpp:1251
#43 0x00007f5e64b8401c in QWidget::event(QEvent*) (this=this@entry=0x559c6b33aa80, event=event@entry=0x559c6bf64930) at kernel/qwidget.cpp:9363
#44 0x00007f5e64c91015 in QMainWindow::event(QEvent*) (this=0x559c6b33aa80, event=0x559c6bf64930) at widgets/qmainwindow.cpp:1339
#45 0x00007f5e655c93dc in KMainWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#46 0x00007f5e656145c6 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#47 0x00007f5e64b42e24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x559c6b2a4690, receiver=receiver@entry=0x559c6b33aa80, e=e@entry=0x559c6bf64930) at kernel/qapplication.cpp:3753
#48 0x00007f5e64b4a6e1 in QApplication::notify(QObject*, QEvent*) (this=0x7fff7df41360, receiver=0x559c6b33aa80, e=0x559c6bf64930) at kernel/qapplication.cpp:3500
#49 0x00007f5e640dde99 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x559c6b33aa80, event=0x559c6bf64930) at ../../include/QtCore/5.12.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#50 0x00007f5e640e0f38 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x559c6b29bbb0) at kernel/qcoreapplication.cpp:1799
#51 0x00007f5e64134714 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x559c6b2f7c70) at kernel/qeventdispatcher_glib.cpp:276
#52 0x00007f5e5feb17bf in g_main_dispatch (context=0x7f5e58004fd0) at ../glib/glib/gmain.c:3189
#53 0x00007f5e5feb17bf in g_main_context_dispatch (context=context@entry=0x7f5e58004fd0) at ../glib/glib/gmain.c:3854
#54 0x00007f5e5feb3739 in g_main_context_iterate (context=context@entry=0x7f5e58004fd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3927
#55 0x00007f5e5feb377e in g_main_context_iteration (context=0x7f5e58004fd0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3988
#56 0x00007f5e64133ce9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x559c6b3073f0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#57 0x00007f5e640dcb2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff7df41280, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#58 0x00007f5e640e4e36 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#59 0x0000559c6a677464 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/systemsettings-5.15.3/app/main.cpp:71
[Inferior 1 (process 1186) detached]

Reported using DrKonqi
Comment 1 Patrick Silva 2019-03-12 21:02:25 UTC
Sometimes system settings also crashes when closed after I install a gtk2 theme from the kde store via the GHNS window.
Comment 2 Aleix Pol 2019-03-31 15:02:03 UTC
Would you be able to produce a backtrace with debug symbols?
Comment 3 Patrick Silva 2019-03-31 15:34:13 UTC
backtrace generated on neon dev unstable


Thread 7 (Thread 0x7fffafabf700 (LWP 3157)):
#0  0x00007ffff352fbf9 in __GI___poll (fds=0x7fffa8007030, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffcac8e481 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007fffcac7fe40 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007fffcac804d0 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007fffcac80560 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007fffcac8e3c9 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007fffca82b318 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
#7  0x00007fffee9586db in start_thread (arg=0x7fffafabf700) at pthread_create.c:463
#8  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffc0410700 (LWP 3055)):
#0  0x00007ffff352fbf9 in __GI___poll (fds=0x7fffb8003ce0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec59a539 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec59a64c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff3e7213f in QEventDispatcherGlib::processEvents (this=0x7fffb8000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007ffff3e1364a in QEventLoop::exec (this=this@entry=0x7fffc040fd40, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff3c3b41a in QThread::exec (this=this@entry=0x555556018fd0) at thread/qthread.cpp:531
#6  0x00007ffff19f52e5 in QQmlThreadPrivate::run (this=0x555556018fd0) at qml/ftw/qqmlthread.cpp:148
#7  0x00007ffff3c3cbc2 in QThreadPrivate::start (arg=0x555556018fd0) at thread/qthread_unix.cpp:361
#8  0x00007fffee9586db in start_thread (arg=0x7fffc0410700) at pthread_create.c:463
#9  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffc9163700 (LWP 2972)):
#0  0x00007ffff352fbf9 in __GI___poll (fds=0x7fffc4004a00, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec59a539 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec59a64c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff3e7213f in QEventDispatcherGlib::processEvents (this=0x7fffc4000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007ffff3e1364a in QEventLoop::exec (this=this@entry=0x7fffc9162d40, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff3c3b41a in QThread::exec (this=this@entry=0x555555bb4ad0) at thread/qthread.cpp:531
#6  0x00007ffff19f52e5 in QQmlThreadPrivate::run (this=0x555555bb4ad0) at qml/ftw/qqmlthread.cpp:148
#7  0x00007ffff3c3cbc2 in QThreadPrivate::start (arg=0x555555bb4ad0) at thread/qthread_unix.cpp:361
#8  0x00007fffee9586db in start_thread (arg=0x7fffc9163700) at pthread_create.c:463
#9  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffd54e1700 (LWP 2920)):
#0  0x00007fffee95e9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, 
    futex_word=0x5555558cf438) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5555558cf3e8, cond=0x5555558cf410)
    at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5555558cf410, mutex=0x5555558cf3e8) at pthread_cond_wait.c:655
#3  0x00007fffd6880dcb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fffd6880af7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fffee9586db in start_thread (arg=0x7fffd54e1700) at pthread_create.c:463
#6  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffddf8e700 (LWP 2919)):
#0  0x00007ffff352fbf9 in __GI___poll (fds=0x7fffd8013ae0, nfds=4, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffec59a539 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffec59a64c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff3e7213f in QEventDispatcherGlib::processEvents (this=0x7fffd8000b20, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#4  0x00007ffff3e1364a in QEventLoop::exec (this=this@entry=0x7fffddf8dd30, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff3c3b41a in QThread::exec (
    this=this@entry=0x7ffff4557d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread.cpp:531
#6  0x00007ffff42e0015 in QDBusConnectionManager::run (
    this=0x7ffff4557d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at qdbusconnection.cpp:178
#7  0x00007ffff3c3cbc2 in QThreadPrivate::start (
    arg=0x7ffff4557d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>)
    at thread/qthread_unix.cpp:361
#8  0x00007fffee9586db in start_thread (arg=0x7fffddf8e700) at pthread_create.c:463
#9  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe5fa7700 (LWP 2918)):
#0  0x00007ffff352fbf9 in __GI___poll (fds=0x7fffe5fa6c78, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffee51c747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fffee51e36a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fffe6ef832a in QXcbEventQueue::run (this=0x5555557af9b0) at qxcbeventqueue.cpp:225
#4  0x00007ffff3c3cbc2 in QThreadPrivate::start (arg=0x5555557af9b0) at thread/qthread_unix.cpp:361
#5  0x00007fffee9586db in start_thread (arg=0x7fffe5fa7700) at pthread_create.c:463
#6  0x00007ffff353c88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7fb1680 (LWP 2834)):
#0  0x0000000000000018 in ?? ()
#1  0x00007fffbd07e084 in DialogInstaller::~DialogInstaller (this=0x555556179090, 
    __in_chrg=<optimized out>) at ./src/dialog_installer.cpp:77
#2  0x00007fffbd07e0d9 in DialogInstaller::~DialogInstaller (this=0x555556179090, 
    __in_chrg=<optimized out>) at ./src/dialog_installer.cpp:81
#3  0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x55555a4b6df0)
    at kernel/qobject.cpp:1995
#4  0x00007ffff4ed619c in QWidget::~QWidget (this=0x55555bb42fe0, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#5  0x00007ffff6dc51d1 in KCModule::~KCModule() ()
   from /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5
#6  0x00007fffbd071c79 in GTKConfigKCModule::~GTKConfigKCModule (this=0x55555bb42fe0, 
    __in_chrg=<optimized out>) at ./src/gtkconfigkcmodule.cpp:160
#7  0x00007ffff79914e4 in KCModuleProxy::deleteClient() ()
   from /usr/lib/x86_64-linux-gnu/libKF5KCMUtils.so.5
#8  0x00007ffff799158f in KCModuleProxy::~KCModuleProxy() ()
   from /usr/lib/x86_64-linux-gnu/libKF5KCMUtils.so.5
#9  0x00007ffff7991759 in KCModuleProxy::~KCModuleProxy() ()
   from /usr/lib/x86_64-linux-gnu/libKF5KCMUtils.so.5
#10 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x55555bb276e0)
    at kernel/qobject.cpp:1995
#11 0x00007ffff4ed619c in QWidget::~QWidget (this=0x55555bb157f0, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#12 0x00007ffff4ed63d9 in QWidget::~QWidget (this=0x55555bb157f0, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1726
#13 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x55555bad9a10)
    at kernel/qobject.cpp:1995
#14 0x00007ffff4ed619c in QWidget::~QWidget (this=0x7fffe0009db0, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#15 0x00007ffff5027199 in QScrollArea::~QScrollArea (this=0x7fffe0009db0, __in_chrg=<optimized out>)
    at widgets/qscrollarea.cpp:172
#16 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555ab2530)
    at kernel/qobject.cpp:1995
#17 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555b870d0, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#18 0x00007ffff64eb73d in KPageStackedWidget::~KPageStackedWidget (this=0x555555b870d0, 
    __in_chrg=<optimized out>)
    at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/EWIEGA46WW/../../../../src/kpageview_p.h:37
#19 KPageStackedWidget::~KPageStackedWidget (this=0x555555b870d0, __in_chrg=<optimized out>)
    at ./obj-x86_64-linux-gnu/src/KF5WidgetsAddons_autogen/EWIEGA46WW/../../../../src/kpageview_p.h:37
#20 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555b86bb0)
    at kernel/qobject.cpp:1995
#21 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555b86b20, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#22 0x00007ffff64d3fc9 in KPageWidget::~KPageWidget (this=0x555555b86b20, __in_chrg=<optimized out>)
    at ./src/kpagewidget.cpp:80
#23 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555b86750)
    at kernel/qobject.cpp:1995
#24 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555b86710, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#25 0x00007ffff7bcbae9 in ModuleView::~ModuleView (this=0x555555b86710, __in_chrg=<optimized out>)
    at ./core/ModuleView.cpp:118
#26 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555b86390)
    at kernel/qobject.cpp:1995
#27 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555b86350, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#28 0x00007fffc9807af1 in FocusHackWidget::~FocusHackWidget (this=0x555555b86350, 
    __in_chrg=<optimized out>) at ./sidebar/SidebarMode.cpp:69
#29 FocusHackWidget::~FocusHackWidget (this=0x555555b86350, __in_chrg=<optimized out>)
    at ./sidebar/SidebarMode.cpp:70
#30 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555845010)
    at kernel/qobject.cpp:1995
#31 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555834280, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#32 0x00007ffff503d189 in QStackedWidget::~QStackedWidget (this=0x555555834280, 
    __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:147
#33 0x00007ffff3e429fb in QObjectPrivate::deleteChildren (this=this@entry=0x555555786e10)
    at kernel/qobject.cpp:1995
#34 0x00007ffff4ed619c in QWidget::~QWidget (this=0x555555828870, __in_chrg=<optimized out>)
    at kernel/qwidget.cpp:1702
#35 0x00007ffff76dc68d in KMainWindow::~KMainWindow() ()
   from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#36 0x0000555555562cfb in SettingsBase::~SettingsBase (this=0x555555828870, 
    __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./app/SettingsBase.cpp:74
#37 0x0000555555562d59 in SettingsBase::~SettingsBase (this=0x555555828870, 
    __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./app/SettingsBase.cpp:77
#38 0x00007ffff3e459b0 in QObject::event (this=this@entry=0x555555828870, e=e@entry=0x55555bd8b7b0)
    at kernel/qobject.cpp:1240
#39 0x00007ffff4edaf4b in QWidget::event (this=this@entry=0x555555828870, 
    event=event@entry=0x55555bd8b7b0) at kernel/qwidget.cpp:9334
#40 0x00007ffff4fe3030 in QMainWindow::event (this=0x555555828870, event=0x55555bd8b7b0)
    at widgets/qmainwindow.cpp:1339
#41 0x00007ffff76deb61 in KMainWindow::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#42 0x00007ffff77249c5 in KXmlGuiWindow::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#43 0x00007ffff4e9a83c in QApplicationPrivate::notify_helper (this=this@entry=0x555555795980, 
    receiver=receiver@entry=0x555555828870, e=e@entry=0x55555bd8b7b0) at kernel/qapplication.cpp:3752
#44 0x00007ffff4ea1dd0 in QApplication::notify (this=0x7fffffffdcc0, receiver=0x555555828870, 
    e=0x55555bd8b7b0) at kernel/qapplication.cpp:3499
#45 0x00007ffff3e15328 in QCoreApplication::notifyInternal2 (receiver=0x555555828870, 
    event=0x55555bd8b7b0) at kernel/qcoreapplication.cpp:1061
#46 0x00007ffff3e154fe in QCoreApplication::sendEvent (receiver=<optimized out>, 
    event=event@entry=0x55555bd8b7b0) at kernel/qcoreapplication.cpp:1451
#47 0x00007ffff3e17e87 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, 
    event_type=event_type@entry=0, data=0x55555578cff0) at kernel/qcoreapplication.cpp:1800
#48 0x00007ffff3e18428 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, 
    event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1654
#49 0x00007ffff3e72b23 in postEventSourceDispatch (s=0x5555557e3320)
    at kernel/qeventdispatcher_glib.cpp:276
#50 0x00007fffec59a387 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007fffec59a5c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007fffec59a64c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007ffff3e7213f in QEventDispatcherGlib::processEvents (this=0x5555557f1c80, flags=...)
    at kernel/qeventdispatcher_glib.cpp:422
#54 0x00007ffff3e1364a in QEventLoop::exec (this=this@entry=0x7fffffffdbe0, flags=..., 
    flags@entry=...) at kernel/qeventloop.cpp:225
#55 0x00007ffff3e1c800 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1364
#56 0x000055555555fe78 in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:71
Comment 4 Aleix Pol 2019-03-31 15:36:04 UTC
Will have to look into it. This should have been fixed by
commit 1bdaa7db43f2645ff1e4607545048f4eb395e26d
Author: Aleix Pol <aleixpol@kde.org>
Date:   Tue Mar 5 03:05:53 2019 +0100

    Fix crash when installing gtk themes locally
    
    BUG: 398112
Comment 5 Patrick Silva 2019-03-31 16:09:51 UTC
hum, I have just noticed that is not necessary to try to install a local theme.
Just close "Install a local theme..." window without to do any change, try to close system settings (system settings unexpectedly prompts to save/discard changes), click "Discard" button and system settings crashes.
Comment 6 Patrick Silva 2019-05-16 18:42:03 UTC
Still reproducible.

go to https://store.kde.org/p/1160290
download the tar.gz. file under "File" tab
open kde-gtk-config kcm
click "Get new gnome/gtk application styles" > "Install a local theme..."
Under "Step 1", select the tar.gz file that you downloaded
(the error "This gtk theme cannot be installed" appears below the file path)
click "Close" button
close system settings (system settings unexpectedly prompts to save/discard changes)
click "Discard" button
plasma shows crash notification

Operating System: Arch Linux 
KDE Plasma Version: 5.15.90
KDE Frameworks Version: 5.58.0
Qt Version: 5.13.0 beta3
Comment 7 Patrick Silva 2019-09-21 16:31:18 UTC
This crash is still reproducible sometimes with the steps from comment 6

Operating System: Arch Linux 
KDE Plasma Version: 5.16.90
KDE Frameworks Version: 5.62.0
Qt Version: 5.13.1


Application: System Settings (systemsettings5), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f91a9519800 (LWP 17371))]

Thread 6 (Thread 0x7f918dfa4700 (LWP 17466)):
#0  0x00007f919f2d73b1 in pa_mainloop_run () at /usr/lib/libpulse.so.0
#1  0x00007f919f2c761e in  () at /usr/lib/libpulse.so.0
#2  0x00007f919ef8fd1c in  () at /usr/lib/pulseaudio/libpulsecommon-13.0.so
#3  0x00007f91acdb857f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f91ae1e40e3 in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f91956e3700 (LWP 17424)):
#0  0x00007f91ae1d9667 in poll () at /usr/lib/libc.so.6
#1  0x00007f91aa584130 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f9188004a30, timeout=<optimized out>, context=0x7f9188000bf0) at ../glib/glib/gmain.c:4216
#2  0x00007f91aa584130 in g_main_context_iterate (context=context@entry=0x7f9188000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3912
#3  0x00007f91aa584201 in g_main_context_iteration (context=0x7f9188000bf0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3978
#4  0x00007f91ae77da1c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9188000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f91ae7244ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f91956e2d80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f91ae556385 in QThread::exec() (this=this@entry=0x557609ddafb0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f91ad861849 in QQmlThreadPrivate::run() (this=0x557609ddafb0) at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.13.1/src/qml/qml/ftw/qqmlthread.cpp:152
#8  0x00007f91ae5575b0 in QThreadPrivate::start(void*) (arg=0x557609ddafb0) at thread/qthread_unix.cpp:360
#9  0x00007f91acdb857f in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f91ae1e40e3 in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f9197a09700 (LWP 17423)):
#0  0x00007f91ae1d9676 in poll () at /usr/lib/libc.so.6
#1  0x00007f91aa584130 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f9190004e30, timeout=<optimized out>, context=0x7f9190000bf0) at ../glib/glib/gmain.c:4216
#2  0x00007f91aa584130 in g_main_context_iterate (context=context@entry=0x7f9190000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3912
#3  0x00007f91aa584201 in g_main_context_iteration (context=0x7f9190000bf0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3978
#4  0x00007f91ae77da1c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9190000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f91ae7244ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f9197a08d80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f91ae556385 in QThread::exec() (this=this@entry=0x5576096e4ea0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f91ad861849 in QQmlThreadPrivate::run() (this=0x5576096e4ea0) at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-everywhere-src-5.13.1/src/qml/qml/ftw/qqmlthread.cpp:152
#8  0x00007f91ae5575b0 in QThreadPrivate::start(void*) (arg=0x5576096e4ea0) at thread/qthread_unix.cpp:360
#9  0x00007f91acdb857f in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f91ae1e40e3 in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f91a5c19700 (LWP 17412)):
#0  0x00007f91acdbe415 in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f91a5f4ef5c in  () at /usr/lib/dri/i965_dri.so
#2  0x00007f91a5f4eb58 in  () at /usr/lib/dri/i965_dri.so
#3  0x00007f91acdb857f in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f91ae1e40e3 in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f91a8292700 (LWP 17402)):
#0  0x00007f91ae1d9667 in poll () at /usr/lib/libc.so.6
#1  0x00007f91aa584130 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f91a0005260, timeout=<optimized out>, context=0x7f91a0000bf0) at ../glib/glib/gmain.c:4216
#2  0x00007f91aa584130 in g_main_context_iterate (context=context@entry=0x7f91a0000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3912
#3  0x00007f91aa584201 in g_main_context_iteration (context=0x7f91a0000bf0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3978
#4  0x00007f91ae77da1c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f91a0000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f91ae7244ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f91a8291d70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f91ae556385 in QThread::exec() (this=this@entry=0x7f91aea3a080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f91ae9b6b37 in QDBusConnectionManager::run() (this=0x7f91aea3a080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f91ae5575b0 in QThreadPrivate::start(void*) (arg=0x7f91aea3a080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:360
#9  0x00007f91acdb857f in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f91ae1e40e3 in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f91a9519800 (LWP 17371)):
[KCrash Handler]
#6  0x0000000000010001 in  ()
#7  0x00007f91ae754996 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) (sender=0x55760f6b7e20, signal=0x0, receiver=0x55760f60e650, method=0x0) at kernel/qobject.cpp:3014
#8  0x00007f919e4e4a7d in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#9  0x00007f919e4e4b49 in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#10 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x5576096605a0) at kernel/qobject.cpp:2019
#11 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x557609660500, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#12 0x00007f91afb320d1 in KCModule::~KCModule() () at /usr/lib/libKF5ConfigWidgets.so.5
#13 0x00007f919e4d7b69 in  () at /usr/lib/qt/plugins/kcm_kdegtkconfig.so
#14 0x00007f91afd299c4 in KCModuleProxy::deleteClient() () at /usr/lib/libKF5KCMUtils.so.5
#15 0x00007f91afd29a6e in KCModuleProxy::~KCModuleProxy() () at /usr/lib/libKF5KCMUtils.so.5
#16 0x00007f91afd29c1a in KCModuleProxy::~KCModuleProxy() () at /usr/lib/libKF5KCMUtils.so.5
#17 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x557609649d70) at kernel/qobject.cpp:2019
#18 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x55760952f7e0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#19 0x00007f91af1c3b2a in QWidget::~QWidget() (this=0x55760952f7e0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1558
#20 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x557609649ad0) at kernel/qobject.cpp:2019
#21 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x557609649810, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#22 0x00007f91af328a8a in QScrollArea::~QScrollArea() (this=0x557609649810, __in_chrg=<optimized out>) at widgets/qscrollarea.cpp:170
#23 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x55760929f7d0) at kernel/qobject.cpp:2019
#24 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x5576094a1ba0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#25 0x00007f91af9b39de in  () at /usr/lib/libKF5WidgetsAddons.so.5
#26 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x55760933c4d0) at kernel/qobject.cpp:2019
#27 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x55760949dec0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#28 0x00007f91afa404da in KPageWidget::~KPageWidget() () at /usr/lib/libKF5WidgetsAddons.so.5
#29 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x55760933dc10) at kernel/qobject.cpp:2019
#30 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x5576094bfbf0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#31 0x00007f91afd6be7a in ModuleView::~ModuleView() () at /usr/lib/libsystemsettingsview.so.3
#32 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x5576092495e0) at kernel/qobject.cpp:2019
#33 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x5576094a9c60, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#34 0x00007f91af33ec9a in QStackedWidget::~QStackedWidget() (this=0x5576094a9c60, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:145
#35 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x5576091564a0) at kernel/qobject.cpp:2019
#36 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x557609112fb0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#37 0x00007f91af33ec9a in QStackedWidget::~QStackedWidget() (this=0x557609112fb0, __in_chrg=<optimized out>) at widgets/qstackedwidget.cpp:145
#38 0x00007f91ae74f75e in QObjectPrivate::deleteChildren() (this=this@entry=0x557609124ad0) at kernel/qobject.cpp:2019
#39 0x00007f91af1c3923 in QWidget::~QWidget() (this=0x55760909d160, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1696
#40 0x00007f91afc6ff75 in KMainWindow::~KMainWindow() () at /usr/lib/libKF5XmlGui.so.5
#41 0x00005576086069cf in  ()
#42 0x0000557608606a39 in  ()
#43 0x00007f91ae752261 in QObject::event(QEvent*) (this=this@entry=0x55760909d160, e=e@entry=0x55760f5598d0) at kernel/qobject.cpp:1251
#44 0x00007f91af1c808b in QWidget::event(QEvent*) (this=this@entry=0x55760909d160, event=event@entry=0x55760f5598d0) at kernel/qwidget.cpp:9405
#45 0x00007f91af2e12e5 in QMainWindow::event(QEvent*) (this=0x55760909d160, event=0x55760f5598d0) at widgets/qmainwindow.cpp:1343
#46 0x00007f91afc7256c in KMainWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#47 0x00007f91afcbf388 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/libKF5XmlGui.so.5
#48 0x00007f91af1844f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55760907d620, receiver=receiver@entry=0x55760909d160, e=e@entry=0x55760f5598d0) at kernel/qapplication.cpp:3703
#49 0x00007f91af18de11 in QApplication::notify(QObject*, QEvent*) (this=0x7ffe714ee290, receiver=0x55760909d160, e=0x55760f5598d0) at kernel/qapplication.cpp:3449
#50 0x00007f91ae7259c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55760909d160, event=0x55760f5598d0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#51 0x00007f91ae728739 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x557609074b80) at kernel/qcoreapplication.cpp:1840
#52 0x00007f91ae77e404 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5576090a1d60) at kernel/qeventdispatcher_glib.cpp:277
#53 0x00007f91aa5823ae in g_main_dispatch (context=0x5576090a8cc0) at ../glib/glib/gmain.c:3179
#54 0x00007f91aa5823ae in g_main_context_dispatch (context=context@entry=0x5576090a8cc0) at ../glib/glib/gmain.c:3844
#55 0x00007f91aa5841c1 in g_main_context_iterate (context=context@entry=0x5576090a8cc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3917
#56 0x00007f91aa584201 in g_main_context_iteration (context=0x5576090a8cc0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3978
#57 0x00007f91ae77da03 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5576090a2330, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#58 0x00007f91ae7244ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe714ee1b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#59 0x00007f91ae72c326 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#60 0x0000557608603475 in  ()
#61 0x00007f91ae10eee3 in __libc_start_main () at /usr/lib/libc.so.6
#62 0x00005576086034fe in _start ()
[Inferior 1 (process 17371) detached]
Comment 8 Nate Graham 2019-10-07 00:37:32 UTC
*** Bug 412652 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2019-12-02 03:16:01 UTC
*** Bug 409683 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2019-12-02 03:19:42 UTC
Can reproduce. However this content is actually not a GTK theme at all, but rather a KDE color scheme. Trying to install it is what makes the KCM crash. Still, it probably shouldn't crash. :)
Comment 11 Nate Graham 2019-12-02 03:20:12 UTC
*** Bug 408172 has been marked as a duplicate of this bug. ***
Comment 12 Mikhail Zolotukhin 2020-01-11 21:27:11 UTC
Git commit 1ebf620d361fac7a430a9023b31d3ec7c0c16760 by Mikhail Zolotukhin.
Committed on 11/01/2020 at 21:26.
Pushed by gikari into branch 'master'.

Rewrite GTK KCM

Summary:
After several changes, GTK Applications settings are now in
sync with KDE equivalent ones, so that GTK KCM now controls only the
theme of the GTK applications. But GTK KCM was written with the thought
that it controls entire GTK apps appearance in mind. Its code structure
is now redundant and needs to be either rewritten or purged in favour of
new one, that will be present in Application Style KCM code base.

The last approach is preferable, because of the goal of removing GTK KCM
to simplify System Settings structure. However, there are some points to
be noted:

# The consensus of where exactly to put the GTK applications settings
   in App Style KCM is not yet reached.
# A couple of changes to the kded settings sync daemon are needed, to
   provide functionality, that is left in GTK KCM (Themes
   Installation/Deletion, Preview etc) without depending on GTK libs
# There are some bugs in KCM, that are present in the moment, that
   could only be fixed with architecture changes (for example: not
   working previews, when the xsettingsd daemon is running; broken icons
   in the previews; gtk themes do not applying for flatpak apps)

Given the points above I decided to rewrite GTK KCM, so that complex
design task (1) would be solved after changes (2) are made. And also
in the process some bugs (3) will be fixed.

Now, GTK KCM is not responsible for managing GTK configs, the one who
does is the kded module, that is asked through DBus, when it is needed
to do so.
The stuff, that is managed by kded module:

# Setting selected GTK2 and GTK3 themes for applications
# Getting current GTK2 and GTK3 themes for applications
# Previewing GTK2 and GTK3 applications for selected themes

Technically 2 and 3 could be done in KCM directly, because they do not
depend on GTK libs, but I thought, that it would be logically related to
the stuff, that is done via kded module. If you think, that that
approach is not right, feel free to criticise.

The stuff, that is done in KCM directly:

# Getting the list of installed GTK themes
# Installing and removing the GTK theme

Also there are some visual changes:

# Theme deletion is now done via button near GTK theme combo, instead
   of separate dialog
# Theme installation from file is now done via button at the bottom,
   as in the other similar KCMs
# Preview button now has a title with an ellipsis to indicate, that
   it launches GTK app in a pop up window

Test Plan:
{F7847441}
# Relaunch kded5
# Open GTK KCM
# Check if gtk themes changing works
# Check if the previews are working
# Check if the local themes deletion works
# Check if theme installation from archive works
# Check if GHNS theme installation works

Reviewers: apol, #vdg, ngraham, cblack

Reviewed By: #vdg, ngraham, cblack

Subscribers: cblack, baberts, ngraham, plasma-devel

Tags: #plasma

Maniphest Tasks: T10611

Differential Revision: https://phabricator.kde.org/D26261

M  +5    -15   CMakeLists.txt
M  +1    -0    kded/CMakeLists.txt
M  +71   -24   kded/configeditor.cpp
M  +17   -0    kded/configeditor.h
M  +56   -7    kded/gtkconfig.cpp
M  +13   -0    kded/gtkconfig.h
A  +106  -0    kded/themepreviewer.cpp     [License: GPL (v2/3)]
C  +22   -8    kded/themepreviewer.h [from: kded/configeditor.h - 062% similarity]
D  +0    -87   src/abstractappearance.cpp
D  +0    -55   src/abstractappearance.h
D  +0    -205  src/appearancegtk2.cpp
D  +0    -48   src/appearancegtk2.h
D  +0    -138  src/appearancegtk3.cpp
D  +0    -47   src/appearancegtk3.h
D  +0    -79   src/appearencegtk.cpp
D  +0    -57   src/appearencegtk.h
D  +0    -141  src/dialog_installer.cpp
D  +0    -75   src/dialog_installer.h
D  +0    -102  src/dialog_uninstaller.cpp
D  +0    -57   src/dialog_uninstaller.h
M  +263  -257  src/gtkconfigkcmodule.cpp
M  +57   -41   src/gtkconfigkcmodule.h
D  +0    -41   src/installer.cpp
D  +0    -38   src/installer.h
D  +0    -196  src/thread.cpp
D  +0    -101  src/thread.h
D  +0    -190  src/ui/dialog_installer.ui
D  +0    -145  src/ui/dialog_uninstaller.ui
M  +49   -8    src/ui/gui.ui
D  +0    -10   tests/CMakeLists.txt
D  +0    -66   tests/configsavetest.cpp
D  +0    -20   tests/configsavetest.h

https://commits.kde.org/kde-gtk-config/1ebf620d361fac7a430a9023b31d3ec7c0c16760