Summary: | System settings crashes on close after I try to install an invalid file | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Patrick Silva <bugseforuns> |
Component: | kcm_gtk | Assignee: | Aleix Pol <aleixpol> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aleixpol, arog1285, burace17, nate, rahil.rules.you |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kde-gtk-config/1ebf620d361fac7a430a9023b31d3ec7c0c16760 | Version Fixed In: | 5.18.0 |
Description
Patrick Silva
2019-03-12 20:55:43 UTC
Sometimes system settings also crashes when closed after I install a gtk2 theme from the kde store via the GHNS window. Would you be able to produce a backtrace with debug symbols? 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 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 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. 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 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] *** Bug 412652 has been marked as a duplicate of this bug. *** *** Bug 409683 has been marked as a duplicate of this bug. *** 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. :) *** Bug 408172 has been marked as a duplicate of this bug. *** 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 |