Bug 407446 - Everything QML crashes
Summary: Everything QML crashes
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcmshell (show other bugs)
Version: unspecified
Platform: Other Linux
: VHI critical
Target Milestone: ---
Assignee: kdelibs bugs
URL: https://bugreports.qt.io/browse/QTBUG...
Keywords:
: 407371 407404 407406 407421 407451 407479 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-05-12 09:04 UTC by Oded Arbel
Modified: 2019-05-13 18:29 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.59


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oded Arbel 2019-05-12 09:04:08 UTC
SUMMARY

The "Applications" configuration option under the Notifications KCM ("Event Notifications and Actions", not the confusingly identically titled "Other Notifications" KCM), pressing the "Configure..." button causes an immediate crash.


STEPS TO REPRODUCE
1. Open System Settings
2. Click the first "Notifications" icon
3. Click the "Configure..." button next the label "Applications"

OBSERVED RESULT

System Settings crashes

EXPECTED RESULT

Some dialog should probably open.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:
KDE Plasma Version: 5.15.80
KDE Frameworks Version: 5.58.0
Qt Version: 5.12.2

ADDITIONAL INFORMATION

See backtrace:

```
Application: System Settings (systemsettings5), signal: Floating point exception
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f917e29e6c0 (LWP 11510))]

Thread 7 (Thread 0x7f9161843700 (LWP 11533)):
#0  0x00007f9182aac729 in __GI___poll (fds=0x7f9154004e30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f918080bcb6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f9154004e30, timeout=<optimized out>, context=0x7f9154000bf0) at ../../../glib/gmain.c:4228
#2  g_main_context_iterate (context=context@entry=0x7f9154000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3922
#3  0x00007f918080bddc in g_main_context_iteration (context=0x7f9154000bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3988
#4  0x00007f918302d063 in QEventDispatcherGlib::processEvents (this=0x7f9154000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f9182fd85bb in QEventLoop::exec (this=this@entry=0x7f9161842d40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9182e232c6 in QThread::exec (this=this@entry=0x564c89242410) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f918211fef5 in QQmlThreadPrivate::run (this=0x564c89242410) at qml/ftw/qqmlthread.cpp:148
#8  0x00007f9182e24612 in QThreadPrivate::start (arg=0x564c89242410) at thread/qthread_unix.cpp:361
#9  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f91635ef700 (LWP 11519)):
#0  0x00007f9182aac729 in __GI___poll (fds=0x7f915c004e30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f918080bcb6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f915c004e30, timeout=<optimized out>, context=0x7f915c000bf0) at ../../../glib/gmain.c:4228
#2  g_main_context_iterate (context=context@entry=0x7f915c000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3922
#3  0x00007f918080bddc in g_main_context_iteration (context=0x7f915c000bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3988
#4  0x00007f918302d063 in QEventDispatcherGlib::processEvents (this=0x7f915c000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f9182fd85bb in QEventLoop::exec (this=this@entry=0x7f91635eed40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9182e232c6 in QThread::exec (this=this@entry=0x564c89286380) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f918211fef5 in QQmlThreadPrivate::run (this=0x564c89286380) at qml/ftw/qqmlthread.cpp:148
#8  0x00007f9182e24612 in QThreadPrivate::start (arg=0x564c89286380) at thread/qthread_unix.cpp:361
#9  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f916db9d700 (LWP 11516)):
#0  0x00007f9182aac729 in __GI___poll (fds=0x7f9164004a30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f918080bcb6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f9164004a30, timeout=<optimized out>, context=0x7f9164000bf0) at ../../../glib/gmain.c:4228
#2  g_main_context_iterate (context=context@entry=0x7f9164000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3922
#3  0x00007f918080bddc in g_main_context_iteration (context=0x7f9164000bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3988
#4  0x00007f918302d063 in QEventDispatcherGlib::processEvents (this=0x7f9164000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f9182fd85bb in QEventLoop::exec (this=this@entry=0x7f916db9cd40, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9182e232c6 in QThread::exec (this=this@entry=0x564c88c60a60) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f918211fef5 in QQmlThreadPrivate::run (this=0x564c88c60a60) at qml/ftw/qqmlthread.cpp:148
#8  0x00007f9182e24612 in QThreadPrivate::start (arg=0x564c88c60a60) at thread/qthread_unix.cpp:361
#9  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f9174ed9700 (LWP 11514)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564c88a40b88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x564c88a40b38, cond=0x564c88a40b60) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x564c88a40b60, mutex=0x564c88a40b38) at pthread_cond_wait.c:655
#3  0x00007f917550536b in cnd_wait (mtx=0x564c88a40b38, cond=0x564c88a40b60) at ../src/../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x564c88dfbc70) at ../src/util/u_queue.c:256
#5  0x00007f91755050d7 in impl_thrd_routine (p=<optimized out>) at ../src/../include/c11/threads_posix.h:87
#6  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7  0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f9177d2d700 (LWP 11513)):
#0  0x00007f9182aac729 in __GI___poll (fds=0x7f9170004e30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f918080bcb6 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f9170004e30, timeout=<optimized out>, context=0x7f9170000bf0) at ../../../glib/gmain.c:4228
#2  g_main_context_iterate (context=context@entry=0x7f9170000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3922
#3  0x00007f918080bddc in g_main_context_iteration (context=0x7f9170000bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3988
#4  0x00007f918302d063 in QEventDispatcherGlib::processEvents (this=0x7f9170000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f9182fd85bb in QEventLoop::exec (this=this@entry=0x7f9177d2cd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f9182e232c6 in QThread::exec (this=this@entry=0x7f9183325d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f91832a5565 in QDBusConnectionManager::run (this=0x7f9183325d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f9182e24612 in QThreadPrivate::start (arg=0x7f9183325d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f917d21b700 (LWP 11512)):
#0  0x00007f9182aac729 in __GI___poll (fds=fds@entry=0x7f917d21ac68, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f918125a917 in poll (__timeout=-1, __nfds=1, __fds=0x7f917d21ac68) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x564c88968e60, cond=cond@entry=0x564c88968ea0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:479
#3  0x00007f918125c53a in xcb_wait_for_event (c=c@entry=0x564c88968e60) at ../../src/xcb_in.c:697
#4  0x00007f917dbd06a8 in QXcbEventQueue::run (this=0x564c889754e0) at qxcbeventqueue.cpp:228
#5  0x00007f9182e24612 in QThreadPrivate::start (arg=0x564c889754e0) at thread/qthread_unix.cpp:361
#6  0x00007f918297b182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7  0x00007f9182ab8b1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f917e29e6c0 (LWP 11510)):
[KCrash Handler]
#6  0x00007f9183aaee33 in QCommonStyle::subControlRect(QStyle::ComplexControl, QStyleOptionComplex const*, QStyle::SubControl, QWidget const*) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007f9177d8a00e in Breeze::Style::scrollBarSubControlRect (widget=0x0, subControl=<optimized out>, option=0x7ffecef33ad0, this=0x564c889a4770) at ./kstyle/breezestyle.cpp:2433
#8  Breeze::Style::scrollBarSubControlRect (this=0x564c889a4770, option=0x7ffecef33ad0, subControl=<optimized out>, widget=0x0) at ./kstyle/breezestyle.cpp:2341
#9  0x00007f9183ac0c1b in QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007f9177d8bd7f in Breeze::Style::drawScrollBarComplexControl (this=0x564c889a4770, option=0x564c90c7bed0, painter=0x7ffecef33e40, widget=0x0) at ./kstyle/breezestyle.cpp:6589
#11 0x00007f9177d8b994 in std::function<bool (Breeze::Style const&, QStyleOptionComplex const*, QPainter*, QWidget const*)>::operator()(Breeze::Style const&, QStyleOptionComplex const*, QPainter*, QWidget const*) const (__args#3=<optimized out>, __args#2=<optimized out>, __args#1=<optimized out>, __args#0=..., this=0x7ffecef33ce0) at /usr/include/c++/8/bits/std_function.h:682
#12 Breeze::Style::drawComplexControl (this=0x564c889a4770, element=QStyle::CC_ScrollBar, option=0x564c90c7bed0, painter=0x7ffecef33e40, widget=0x0) at ./kstyle/breezestyle.cpp:979
#13 0x00007f916c59647e in KQuickStyleItem::paint (this=this@entry=0x564c90c79d10, painter=painter@entry=0x7ffecef33e40) at /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qstyleoption.h:689
#14 0x00007f916c596bac in KQuickStyleItem::updatePolish (this=0x564c90c79d10) at ./plugin/kquickstyleitem.cpp:1720
#15 0x00007f91824c9463 in QQuickWindowPrivate::polishItems() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007f918277e0d5 in QQuickWidgetPrivate::render (this=0x564c9078d530, needsSync=<optimized out>) at qquickwidget.cpp:284
#17 0x00007f918277e2b6 in QQuickWidgetPrivate::renderSceneGraph (this=0x564c9078d530) at qquickwidget.cpp:339
#18 0x00007f9183003c5b in QObject::event (this=0x564c8c0213c0, e=<optimized out>) at kernel/qobject.cpp:1241
#19 0x00007f9183a76feb in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f9182781e55 in QQuickWidget::event (this=0x564c8c0213c0, e=0x7ffecef34420) at qquickwidget.cpp:1525
#21 0x00007f9183a37551 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007f9183a3e930 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007f9182fd98e9 in QCoreApplication::notifyInternal2 (receiver=0x564c8c0213c0, event=0x7ffecef34420) at ../../include/QtCore/5.12.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:322
#24 0x00007f918302c453 in QTimerInfoList::activateTimers (this=0x564c889a3720) at kernel/qtimerinfo_unix.cpp:643
#25 0x00007f918302cca4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#26 0x00007f918080baae in g_main_dispatch (context=0x7f9178004fd0) at ../../../glib/gmain.c:3189
#27 g_main_context_dispatch (context=context@entry=0x7f9178004fd0) at ../../../glib/gmain.c:3854
#28 0x00007f918080bd48 in g_main_context_iterate (context=context@entry=0x7f9178004fd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3927
#29 0x00007f918080bddc in g_main_context_iteration (context=0x7f9178004fd0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3988
#30 0x00007f918302d047 in QEventDispatcherGlib::processEvents (this=0x564c889b73e0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#31 0x00007f9182fd85bb in QEventLoop::exec (this=this@entry=0x7ffecef34680, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#32 0x00007f9182fe05e2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#33 0x0000564c87e68639 in ?? ()
#34 0x00007f91829c1b6b in __libc_start_main (main=0x564c87e68250, argc=1, argv=0x7ffecef348a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffecef34898) at ../csu/libc-start.c:308
#35 0x0000564c87e686ba in _start ()
[Inferior 1 (process 11510) detached]
```
Comment 1 Oded Arbel 2019-05-12 09:12:07 UTC
This isn't a notification KCM specific crash - I managed to reproduce the same crash (same signal in the same offending frame) in several other system settings modules, specifically just loading the KCMs (by clicking the labels) for at least these modules, immediately crashes the application:

- Look and Feel
- Workspace Theme
- Colors
- Icons
- Window Decorations
- Desktop Effects

and probably more, I stopped at this point. Interestingly the following do not crash: Fonts, Font Management, Application Style, GNOME/GTK Application Style and others.
Comment 2 Julian Steinmann 2019-05-12 10:30:00 UTC
*** Bug 407451 has been marked as a duplicate of this bug. ***
Comment 3 Julian Steinmann 2019-05-12 10:35:13 UTC
It seems like this commit (https://phabricator.kde.org/R858:f7f99e8b8ca42c1036db4c25ce0488df2046b6a9) causes this crash. Hopefully we will get a revert or fix soon.
Comment 4 Oded Arbel 2019-05-12 12:01:49 UTC
Maybe fixed by https://phabricator.kde.org/D21153 ?

I've added the patch there by hand, and it does indeed stops the KCM Notifications' "Configure applications" view from crashing, but everything else keeps crashing. I'm guessing we need more of those...
Comment 5 Christophe Marin 2019-05-12 18:58:48 UTC
(In reply to Oded Arbel from comment #4)
> Maybe fixed by https://phabricator.kde.org/D21153 ?
> 
> I've added the patch there by hand, and it does indeed stops the KCM
> Notifications' "Configure applications" view from crashing, but everything
> else keeps crashing. I'm guessing we need more of those...

Same thing here after manually applying D21153 and eg kcmshell5 colors

# kcmshell5 colors
20:57:50 - kcmshell5(28046) - org.kde.kcrash: KCrash::initialize: KCrash disabled through environment.
20:57:50 - kcmshell5(28046) - kf5.kservice.sycoca: KSycocaPrivate::openDatabase: Opening ksycoca from "/home/krop/.cache/ksycoca5_en_tN3Mpc7tCQ6TbOtNSgmO19NfNqM="
20:57:50 - kcmshell5(28046) - org.kde.kwindowsystem: loadPlugin: Loaded plugin "/data/kde/inst/lib64/qt5/plugins/kf5/org.kde.kwindowsystem.platforms/KF5WindowSystemX11Plugin.so" for platform "xcb"
20:57:50 - kcmshell5(28046) - kf5.kcoreaddons.desktopparser: ServiceTypeDefinitions::parseValue: Unknown property type for key "X-Plasma-API" -> falling back to string
20:57:50 - kcmshell5(28046) -  : <Unknown File>:3:89: Unable to assign [undefined] to double
20:57:50 - kcmshell5(28046) -  : file:///data/kde/inst/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object
20:57:50 - kcmshell5(28046) -  : file:///data/kde/inst/lib64/qt5/qml/org/kde/kirigami.2/templates/InlineMessage.qml:136: TypeError: Value is undefined and could not be converted to an object
20:57:50 - kcmshell5(28046) -  : file:///data/kde/inst/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:62: TypeError: Cannot read property 'selectedText' of null
20:57:50 - kcmshell5(28046) -  : file:///data/kde/inst/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:70: TypeError: Cannot read property 'selectedText' of null
20:57:50 - kcmshell5(28046) -  : file:///data/kde/inst/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/private/MobileTextActionsToolBar.qml:78: TypeError: Cannot read property 'canPaste' of null
[1]    28046 floating point exception (core dumped)  kcmshell5 colors
Comment 6 Nate Graham 2019-05-12 20:26:33 UTC
Looks like this was caused by https://cgit.kde.org/qqc2-desktop-style.git/commit/?id=f7f99e8b8ca42c1036db4c25ce0488df2046b6a9, and reverting it fixes the issue.
Comment 7 Patrick Silva 2019-05-12 23:50:05 UTC
bug 407406 seems duplicate
Comment 8 Nate Graham 2019-05-13 01:39:14 UTC
*** Bug 407406 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2019-05-13 04:03:17 UTC
*** Bug 407371 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2019-05-13 04:29:15 UTC
*** Bug 407404 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2019-05-13 04:29:42 UTC
*** Bug 407421 has been marked as a duplicate of this bug. ***
Comment 12 Nate Graham 2019-05-13 13:14:41 UTC
Root cause is a Qt bug: https://bugreports.qt.io/browse/QTBUG-75791

We've worked around it in KDE_land with https://cgit.kde.org/qqc2-desktop-style.git/commit/?id=e37ae0c87025c2102ac8d7796bdf850098bfa2b2

Neon Dev Unstable users should get the fix in a day or two.
Comment 13 Nate Graham 2019-05-13 18:29:47 UTC
*** Bug 407479 has been marked as a duplicate of this bug. ***