Bug 408325 - Touchpad KCM crashes on launch
Summary: Touchpad KCM crashes on launch
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_touchpad (show other bugs)
Version: 5.17.5
Platform: openSUSE Linux
: VHI crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 407783 408627 408713 408745 408794 408815 408839 408844 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-06-05 06:57 UTC by Ilya Bizyaev
Modified: 2020-01-22 21:34 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.16.2


Attachments
New crash information added by DrKonqi (23.44 KB, text/plain)
2019-06-14 14:36 UTC, Yan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ilya Bizyaev 2019-06-05 06:57:42 UTC
SUMMARY


STEPS TO REPRODUCE
1. Click the touchpad KCM. Only happens sometimes, not yet sure what it depends on. 

OBSERVED RESULT
Crash:
Application: Параметры системы (systemsettings5), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
[Current thread is 1 (Thread 0x7fd9a2a1e940 (LWP 18470))]

Thread 6 (Thread 0x7fd969fc3700 (LWP 18478)):
#0  0x00007fd99df62c98 in __GI___libc_read (fd=15, buf=0x7fd969fc2a30, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007fd996f9dca0 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd996f58cb8 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd996f59150 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fd996f592bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x00007fd99e8a699b in QEventDispatcherGlib::processEvents (this=0x7fd964000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007fd99e847c0a in QEventLoop::exec (this=this@entry=0x7fd969fc2c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007fd99e66f04a in QThread::exec (this=this@entry=0x55a9a5ace910) at thread/qthread.cpp:531
#8  0x00007fd99c43cd95 in QQmlThreadPrivate::run (this=0x55a9a5ace910) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/ftw/qqmlthread.cpp:148
#9  0x00007fd99e6707f2 in QThreadPrivate::start (arg=0x55a9a5ace910) at thread/qthread_unix.cpp:361
#10 0x00007fd9995e7569 in start_thread (arg=0x7fd969fc3700) at pthread_create.c:465
#11 0x00007fd99df719ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fd9728fd700 (LWP 18477)):
#0  0x00007fd996f9efd9 in g_mutex_lock () from /usr/lib64/libglib-2.0.so.0
#1  0x00007fd996f581d4 in g_main_context_release () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd996f59166 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd996f592bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fd99e8a699b in QEventDispatcherGlib::processEvents (this=0x7fd96c000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fd99e847c0a in QEventLoop::exec (this=this@entry=0x7fd9728fcc50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#6  0x00007fd99e66f04a in QThread::exec (this=this@entry=0x55a9a551b9e0) at thread/qthread.cpp:531
#7  0x00007fd99c43cd95 in QQmlThreadPrivate::run (this=0x55a9a551b9e0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/ftw/qqmlthread.cpp:148
#8  0x00007fd99e6707f2 in QThreadPrivate::start (arg=0x55a9a551b9e0) at thread/qthread_unix.cpp:361
#9  0x00007fd9995e7569 in start_thread (arg=0x7fd9728fd700) at pthread_create.c:465
#10 0x00007fd99df719ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fd97a3ff700 (LWP 18474)):
#0  0x00007fd9995ed8ad in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55a9a50e559c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55a9a50e5548, cond=0x55a9a50e5570) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55a9a50e5570, mutex=0x55a9a50e5548) at pthread_cond_wait.c:655
#3  0x00007fd97b0a592b in ?? () from /usr/lib64/dri/i965_dri.so
#4  0x00007fd97b0a5637 in ?? () from /usr/lib64/dri/i965_dri.so
#5  0x00007fd9995e7569 in start_thread (arg=0x7fd97a3ff700) at pthread_create.c:465
#6  0x00007fd99df719ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fd982647700 (LWP 18473)):
#0  0x00007fd99df6719b in __GI___poll (fds=0x7fd97c002de0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd996f591a9 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fd996f592bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fd99e8a699b in QEventDispatcherGlib::processEvents (this=0x7fd97c000b10, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fd99e847c0a in QEventLoop::exec (this=this@entry=0x7fd982646c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007fd99e66f04a in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531
#6  0x00007fd99ed16cd5 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007fd99e6707f2 in QThreadPrivate::start (arg=0x7fd99ef8ed80) at thread/qthread_unix.cpp:361
#8  0x00007fd9995e7569 in start_thread (arg=0x7fd982647700) at pthread_create.c:465
#9  0x00007fd99df719ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fd98e8cd700 (LWP 18472)):
#0  0x00007fd99df6719b in __GI___poll (fds=0x7fd98e8ccb78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd9991ac307 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007fd9991adf3a in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007fd9910953d8 in QXcbEventQueue::run (this=0x55a9a5070380) at qxcbeventqueue.cpp:228
#4  0x00007fd99e6707f2 in QThreadPrivate::start (arg=0x55a9a5070380) at thread/qthread_unix.cpp:361
#5  0x00007fd9995e7569 in start_thread (arg=0x7fd98e8cd700) at pthread_create.c:465
#6  0x00007fd99df719ef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fd9a2a1e940 (LWP 18470)):
[KCrash Handler]
#6  0x00007fd960332784 in TouchpadConfigContainer::sizeHint (this=<optimized out>) at /usr/src/debug/plasma5-desktop-5.15.90-lp151.360.1.x86_64/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp:70
#7  0x00007fd99f925b34 in QWidgetItemV2::updateCacheIfNecessary (this=0x55a9ab7e0e20) at kernel/qlayoutitem.cpp:724
#8  0x00007fd99f925e1d in QWidgetItemV2::maximumSize (this=0x55a9ab7e0e20) at kernel/qlayoutitem.cpp:812
#9  0x00007fd99f91a3a2 in QBoxLayoutPrivate::setupGeom (this=this@entry=0x55a9a8374b90) at kernel/qboxlayout.cpp:289
#10 0x00007fd99f91b046 in QBoxLayoutPrivate::setupGeom (this=<optimized out>) at kernel/qboxlayout.cpp:615
#11 QBoxLayout::sizeHint (this=<optimized out>) at kernel/qboxlayout.cpp:616
#12 0x00007fd99f921be7 in QLayout::totalSizeHint (this=0x55a9ab8b5410) at kernel/qlayout.cpp:719
#13 0x00007fd99fa92002 in QScrollArea::sizeHint (this=<optimized out>) at widgets/qscrollarea.cpp:394
#14 0x00007fd99f927a57 in QStackedLayout::sizeHint (this=<optimized out>) at kernel/qstackedlayout.cpp:444
#15 0x00007fd99f921be7 in QLayout::totalSizeHint (this=0x7fd988007d80) at kernel/qlayout.cpp:719
#16 0x00007fd99f925b34 in QWidgetItemV2::updateCacheIfNecessary (this=0x55a9a557ab30) at kernel/qlayoutitem.cpp:724
#17 0x00007fd99f925dcd in QWidgetItemV2::minimumSize (this=0x55a9a557ab30) at kernel/qlayoutitem.cpp:799
#18 0x00007fd99f91e3a6 in QGridBox::minimumSize (this=0x55a9a5556be0) at kernel/qgridlayout.cpp:74
#19 QGridLayoutPrivate::setupLayoutData (this=this@entry=0x55a9a54db410, hSpacing=hSpacing@entry=4, vSpacing=vSpacing@entry=4) at kernel/qgridlayout.cpp:810
#20 0x00007fd99f91f823 in QGridLayoutPrivate::distribute (this=this@entry=0x55a9a54db410, r=..., hSpacing=4, vSpacing=vSpacing@entry=4) at kernel/qgridlayout.cpp:940
#21 0x00007fd99f920607 in QGridLayout::setGeometry (this=0x55a9a55d63c0, rect=...) at kernel/qgridlayout.cpp:1385
#22 0x00007fd99f921a58 in QLayoutPrivate::doResize (this=this@entry=0x55a9a54db410, r=...) at kernel/qlayout.cpp:592
#23 0x00007fd99f922ae9 in QLayout::activate (this=<optimized out>) at kernel/qlayout.cpp:1117
#24 0x00007fd99f9445df in QWidgetPrivate::setVisible (this=0x55a9a5c92de0, visible=<optimized out>) at kernel/qwidget.cpp:8356
#25 0x00007fd99f928037 in QStackedLayout::setCurrentIndex (this=0x7fd988007d80, index=1) at kernel/qstackedlayout.cpp:321
#26 0x00007fd99f928344 in QStackedLayout::setCurrentWidget (this=0x7fd988007d80, widget=widget@entry=0x55a9ab8e7d00) at kernel/qstackedlayout.cpp:376
#27 0x00007fd99faa8361 in QStackedWidget::setCurrentWidget (this=<optimized out>, widget=0x55a9ab8e7d00) at widgets/qstackedwidget.cpp:248
#28 0x00007fd9a0f4ca60 in KPageViewPrivate::_k_pageSelected (this=0x55a9a5577180, index=..., previous=...) at /usr/src/debug/kwidgetsaddons-5.58.0-lp151.184.1.x86_64/src/kpageview.cpp:247
#29 0x00007fd99e879445 in QMetaObject::activate (sender=sender@entry=0x55a9a55a6fe0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe292259c0) at kernel/qobject.cpp:3795
#30 0x00007fd99e879b17 in QMetaObject::activate (sender=sender@entry=0x55a9a55a6fe0, m=m@entry=0x7fd99ecf6680 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe292259c0) at kernel/qobject.cpp:3648
#31 0x00007fd99e7ff4b7 in QItemSelectionModel::selectionChanged (this=this@entry=0x55a9a55a6fe0, _t1=..., _t2=...) at .moc/moc_qitemselectionmodel.cpp:458
#32 0x00007fd99e804020 in QItemSelectionModel::emitSelectionChanged (this=this@entry=0x55a9a55a6fe0, newSelection=..., oldSelection=...) at itemmodels/qitemselectionmodel.cpp:1871
#33 0x00007fd99e80756b in QItemSelectionModel::select (this=0x55a9a55a6fe0, selection=..., command=...) at itemmodels/qitemselectionmodel.cpp:1338
#34 0x00007fd99e80151c in QItemSelectionModel::select (this=this@entry=0x55a9a55a6fe0, index=..., command=command@entry=...) at itemmodels/qitemselectionmodel.cpp:1188
#35 0x00007fd99e7ff864 in QItemSelectionModel::setCurrentIndex (this=this@entry=0x55a9a55a6fe0, index=..., command=command@entry=...) at itemmodels/qitemselectionmodel.cpp:1413
#36 0x00007fd9a0f4baea in KPageViewPrivate::updateSelection (this=<optimized out>) at /usr/src/debug/kwidgetsaddons-5.58.0-lp151.184.1.x86_64/src/kpageview.cpp:111
#37 0x00007fd9a0f4c895 in KPageViewPrivate::_k_modelChanged (this=0x55a9a5577180) at /usr/src/debug/kwidgetsaddons-5.58.0-lp151.184.1.x86_64/src/kpageview.cpp:218
#38 0x00007fd99e879445 in QMetaObject::activate (sender=sender@entry=0x55a9a557ab90, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffe29225e20) at kernel/qobject.cpp:3795
#39 0x00007fd99e879b17 in QMetaObject::activate (sender=sender@entry=0x55a9a557ab90, m=m@entry=0x7fd99ecf6580 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffe29225e20) at kernel/qobject.cpp:3648
#40 0x00007fd99e7f1066 in QAbstractItemModel::layoutChanged (this=this@entry=0x55a9a557ab90, _t1=..., _t2=<optimized out>, _t2@entry=QAbstractItemModel::NoLayoutChangeHint) at .moc/moc_qabstractitemmodel.cpp:570
#41 0x00007fd9a0f52cb6 in KPageWidgetModel::addPage (this=0x55a9a557ab90, item=item@entry=0x55a9ab8adab0) at /usr/src/debug/kwidgetsaddons-5.58.0-lp151.184.1.x86_64/src/kpagewidgetmodel.cpp:440
#42 0x00007fd9a0f516ad in KPageWidget::addPage (this=<optimized out>, item=item@entry=0x55a9ab8adab0) at /usr/src/debug/kwidgetsaddons-5.58.0-lp151.184.1.x86_64/src/kpagewidget.cpp:94
#43 0x00007fd9a2657cc6 in ModuleView::addModule (this=this@entry=0x55a9a5531360, module=0x55a9a55df8c8) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/core/ModuleView.cpp:198
#44 0x00007fd9a265804d in ModuleView::loadModule (this=this@entry=0x55a9a5531360, menuItem=...) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/core/ModuleView.cpp:151
#45 0x00007fd9797dc634 in SidebarMode::setActiveSubCategory (this=this@entry=0x55a9a5554a50, cat=4) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/sidebar/SidebarMode.cpp:462
#46 0x00007fd9797e2397 in SidebarMode::qt_static_metacall (_o=_o@entry=0x55a9a5554a50, _c=_c@entry=QMetaObject::WriteProperty, _id=_id@entry=4, _a=_a@entry=0x7ffe29226150) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:313
#47 0x00007fd9797e2803 in SidebarMode::qt_metacall (this=0x55a9a5554a50, _c=QMetaObject::WriteProperty, _id=4, _a=0x7ffe29226150) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:361
#48 0x00007fd99c2ea603 in QV4::QObjectWrapper::setProperty (engine=engine@entry=0x55a9a55ee7d0, object=object@entry=0x55a9a5554a50, property=0x55a9a594ee58, value=...) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:536
#49 0x00007fd99c2eb13e in QV4::QObjectWrapper::setQmlProperty (engine=0x55a9a55ee7d0, qmlContext=<optimized out>, object=0x55a9a5554a50, name=<optimized out>, revisionMode=QV4::QObjectWrapper::IgnoreRevision, value=...) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:437
#50 0x00007fd99c2eb2d9 in QV4::QObjectWrapper::virtualPut (m=0x7fd971cbe538, id=..., value=..., receiver=0x7fd971cbe538) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:723
#51 0x00007fd99c2b0269 in QV4::Object::put (receiver=0x7fd971cbe538, v=..., id=..., this=0x7fd971cbe538) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4object_p.h:324
#52 QV4::Object::virtualResolveLookupSetter (object=0x7fd971cbe538, engine=0x55a9a55ee7d0, lookup=0x55a9a594b030, value=...) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4object.cpp:800
#53 0x00007fd99c302691 in QV4::Moth::VME::interpret (frame=0x7ffe29226500, engine=0x55a9a55ee7d0, code=0x7fd980039509 "\016\002") at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:630
#54 0x00007fd99c307056 in QV4::Moth::VME::exec (frame=frame@entry=0x7ffe29226500, engine=engine@entry=0x55a9a55ee7d0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:441
#55 0x00007fd99c29609b in QV4::Function::call (this=this@entry=0x55a9a58bead0, thisObject=thisObject@entry=0x7fd971cbe4e8, argv=argv@entry=0x7fd971cbe500, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/jsruntime/qv4function.cpp:68
#56 0x00007fd99c409237 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55a9ab935b20, callData=callData@entry=0x7fd971cbe4d0, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:211
#57 0x00007fd99c3ad529 in QQmlBoundSignalExpression::evaluate (this=this@entry=0x55a9ab935b20, a=a@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/qqmlboundsignal.cpp:225
#58 0x00007fd99c3ae8ab in QQmlBoundSignal_callback (e=0x55a9ab935ad0, a=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/qqmlboundsignal.cpp:358
#59 0x00007fd99c3e9852 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=a@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/qqmlnotifier.cpp:104
#60 0x00007fd99c38f519 in QQmlData::signalEmitted (object=0x55a9ab930590, index=<optimized out>, a=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/qml/qml/qqmlengine.cpp:883
#61 0x00007fd99e878c7f in QMetaObject::activate (sender=0x55a9ab930590, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x0) at kernel/qobject.cpp:3664
#62 0x00007fd99e879b17 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fd98cfef440 <QQuickAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x0) at kernel/qobject.cpp:3648
#63 0x00007fd98cd8df43 in QQuickAbstractButton::clicked (this=<optimized out>) at .moc/moc_qquickabstractbutton_p.cpp:629
#64 0x00007fd98cd19fa6 in QQuickAbstractButtonPrivate::trigger (this=this@entry=0x55a9ab930650) at qquickabstractbutton.cpp:336
#65 0x00007fd98cd1be48 in QQuickAbstractButtonPrivate::handleRelease (this=0x55a9ab930650, point=...) at qquickabstractbutton.cpp:179
#66 0x00007fd98cd391c5 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7ffe29228ac0) at qquickcontrol.cpp:2110
#67 0x00007fd99c9d5bd8 in QQuickItem::event (this=0x55a9ab930590, ev=0x7ffe29228ac0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quick/items/qquickitem.cpp:8096
#68 0x00007fd99f90478c in QApplicationPrivate::notify_helper (this=this@entry=0x55a9a504fa70, receiver=receiver@entry=0x55a9ab930590, e=e@entry=0x7ffe29228ac0) at kernel/qapplication.cpp:3737
#69 0x00007fd99f90bcf0 in QApplication::notify (this=0x7ffe29229a20, receiver=0x55a9ab930590, e=0x7ffe29228ac0) at kernel/qapplication.cpp:3484
#70 0x00007fd99e8498e8 in QCoreApplication::notifyInternal2 (receiver=0x55a9ab930590, event=0x7ffe29228ac0) at kernel/qcoreapplication.cpp:1060
#71 0x00007fd99e849abe in QCoreApplication::sendEvent (receiver=receiver@entry=0x55a9ab930590, event=event@entry=0x7ffe29228ac0) at kernel/qcoreapplication.cpp:1450
#72 0x00007fd99c9ef49d in QQuickWindowPrivate::deliverMouseEvent (this=this@entry=0x55a9a55f2260, pointerEvent=0x55a9ab7a4350) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quick/items/qquickwindow.cpp:1786
#73 0x00007fd99c9f068b in QQuickWindowPrivate::deliverPointerEvent (this=this@entry=0x55a9a55f2260, event=0x55a9ab7a4350) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quick/items/qquickwindow.cpp:2349
#74 0x00007fd99c9f131e in QQuickWindowPrivate::handleMouseEvent (this=0x55a9a55f2260, event=0x7ffe29228ac0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quick/items/qquickwindow.cpp:2212
#75 0x00007fd99f0c5895 in QWindow::event (this=this@entry=0x55a9a5554520, ev=ev@entry=0x7ffe29228ac0) at kernel/qwindow.cpp:2341
#76 0x00007fd99c9f25b5 in QQuickWindow::event (this=0x55a9a5554520, e=0x7ffe29228ac0) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quick/items/qquickwindow.cpp:1675
#77 0x00007fd99f90478c in QApplicationPrivate::notify_helper (this=this@entry=0x55a9a504fa70, receiver=receiver@entry=0x55a9a5554520, e=e@entry=0x7ffe29228ac0) at kernel/qapplication.cpp:3737
#78 0x00007fd99f90bcf0 in QApplication::notify (this=0x7ffe29229a20, receiver=0x55a9a5554520, e=0x7ffe29228ac0) at kernel/qapplication.cpp:3484
#79 0x00007fd99e8498e8 in QCoreApplication::notifyInternal2 (receiver=0x55a9a5554520, event=0x7ffe29228ac0) at kernel/qcoreapplication.cpp:1060
#80 0x00007fd99e849abe in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x7ffe29228ac0) at kernel/qcoreapplication.cpp:1450
#81 0x00007fd99d09a51c in QQuickWidget::mouseReleaseEvent (this=<optimized out>, e=0x7ffe29229110) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quickwidgets/qquickwidget.cpp:1372
#82 0x00007fd99f944b18 in QWidget::event (this=this@entry=0x55a9a55c0d00, event=event@entry=0x7ffe29229110) at kernel/qwidget.cpp:9322
#83 0x00007fd99d09a6fb in QQuickWidget::event (this=0x55a9a55c0d00, e=0x7ffe29229110) at /usr/src/debug/libqt5-qtdeclarative-5.12.3-lp151.1.1.x86_64/src/quickwidgets/qquickwidget.cpp:1525
#84 0x00007fd99f90478c in QApplicationPrivate::notify_helper (this=this@entry=0x55a9a504fa70, receiver=receiver@entry=0x55a9a55c0d00, e=e@entry=0x7ffe29229110) at kernel/qapplication.cpp:3737
#85 0x00007fd99f90cbc8 in QApplication::notify (this=<optimized out>, receiver=0x55a9a55c0d00, e=0x7ffe29229110) at kernel/qapplication.cpp:3198
#86 0x00007fd99e8498e8 in QCoreApplication::notifyInternal2 (receiver=0x55a9a55c0d00, event=0x7ffe29229110) at kernel/qcoreapplication.cpp:1060
#87 0x00007fd99e849ace in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55a9a55c0d00, event=event@entry=0x7ffe29229110) at kernel/qcoreapplication.cpp:1462
#88 0x00007fd99f90b1bf in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55a9a55c0d00, event=event@entry=0x7ffe29229110, alienWidget=0x55a9a55c0d00, nativeWidget=0x55a9a5331100, buttonDown=buttonDown@entry=0x7fd9a00078d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2684
#89 0x00007fd99f95f9f1 in QWidgetWindow::handleMouseEvent (this=this@entry=0x55a9a5485a70, event=event@entry=0x7ffe292295a0) at kernel/qwidgetwindow.cpp:661
#90 0x00007fd99f96268a in QWidgetWindow::event (this=0x55a9a5485a70, event=0x7ffe292295a0) at kernel/qwidgetwindow.cpp:280
#91 0x00007fd99f90478c in QApplicationPrivate::notify_helper (this=this@entry=0x55a9a504fa70, receiver=receiver@entry=0x55a9a5485a70, e=e@entry=0x7ffe292295a0) at kernel/qapplication.cpp:3737
#92 0x00007fd99f90bcf0 in QApplication::notify (this=0x7ffe29229a20, receiver=0x55a9a5485a70, e=0x7ffe292295a0) at kernel/qapplication.cpp:3484
#93 0x00007fd99e8498e8 in QCoreApplication::notifyInternal2 (receiver=0x55a9a5485a70, event=0x7ffe292295a0) at kernel/qcoreapplication.cpp:1060
#94 0x00007fd99e849ace in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55a9a5485a70, event=event@entry=0x7ffe292295a0) at kernel/qcoreapplication.cpp:1462
#95 0x00007fd99f0ba43b in QGuiApplicationPrivate::processMouseEvent (e=0x55a9a8b2fe90) at kernel/qguiapplication.cpp:2102
#96 0x00007fd99f0bb5a5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55a9a8b2fe90) at kernel/qguiapplication.cpp:1837
#97 0x00007fd99f093d7b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1151
#98 0x00007fd9910963fa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#99 0x00007fd996f58e87 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#100 0x00007fd996f59230 in ?? () from /usr/lib64/libglib-2.0.so.0
#101 0x00007fd996f592bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#102 0x00007fd99e8a697f in QEventDispatcherGlib::processEvents (this=0x55a9a50c35c0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#103 0x00007fd99e847c0a in QEventLoop::exec (this=this@entry=0x7ffe29229940, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#104 0x00007fd99e850d40 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363
#105 0x000055a9a37a4d48 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/systemsettings5-5.15.90-lp151.218.1.x86_64/app/main.cpp:71
[Inferior 1 (process 18470) detached]


EXPECTED RESULT
KCM loads and presents the settings.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.15.90
KDE Frameworks Version: 5.58.0
Qt Version: 5.12.3
Comment 1 Nate Graham 2019-06-05 14:40:56 UTC
Confirmed. :(
Comment 2 Nate Graham 2019-06-13 20:49:29 UTC
*** Bug 408627 has been marked as a duplicate of this bug. ***
Comment 3 Yan 2019-06-14 14:36:10 UTC
Created attachment 120868 [details]
New crash information added by DrKonqi

systemsettings5 (5.16.0) using Qt 5.12.2

- What I was doing when the application crashed:
i dont' have touchpad and open touchpad setting and get crash

- Unusual behavior I noticed:

- Custom settings of the application:

-- Backtrace (Reduced):
#7  0x00007f389e2ef7c2 in QWidgetItemV2::updateCacheIfNecessary() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007f389e2efafd in QWidgetItemV2::maximumSize() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
[...]
#10 0x00007f389e2e4d48 in QBoxLayout::sizeHint() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f389e2eb8d7 in QLayout::totalSizeHint() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f389e458baa in QScrollArea::sizeHint() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
Comment 4 Antonio Rojas 2019-06-14 22:33:01 UTC
*** Bug 408713 has been marked as a duplicate of this bug. ***
Comment 5 Christoph Feck 2019-06-17 10:00:12 UTC
*** Bug 408815 has been marked as a duplicate of this bug. ***
Comment 6 Christoph Feck 2019-06-17 10:00:26 UTC
*** Bug 408794 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Feck 2019-06-17 10:00:41 UTC
*** Bug 408745 has been marked as a duplicate of this bug. ***
Comment 8 Christoph Feck 2019-06-17 10:01:03 UTC
*** Bug 407783 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2019-06-17 19:36:54 UTC
*** Bug 408844 has been marked as a duplicate of this bug. ***
Comment 10 Bastian Beischer 2019-06-18 11:46:30 UTC
*** Bug 408839 has been marked as a duplicate of this bug. ***
Comment 11 Bastian Beischer 2019-06-18 11:59:38 UTC
I believe this bug is triggered for X11 on systems which do not actually have a touchpad. I think the problem is:

Since

https://github.com/KDE/plasma-desktop/commit/ce84d6ab4babc80707f4e4c1deb02cfe3ac5b7bb

TouchpadConfigContainer::m_plugin is null, because TouchpadBackend::implementation() does not have m_mode properly set. setMode() is supposed to be called in XlibBackend::findTouchpad(), but this goes through the list of touchpads, which can be none, and calls setMode() on each such touchpad.

So setMode() is never actually called and m_mode is (implicitly!) initialized to WaylandLibinput (since it does not get set in TouchpadBackend constructor). Then getMode() does not return any of the expected cases in isPlatformX11() branch, which means m_plugin stays a nullptr and then there is a crash in TouchpadConfigContainer::sizeHint().
Comment 12 Bastian Beischer 2019-06-18 12:24:03 UTC
Proposed fix:

--- a/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp 2019-06-07 18:08:11.000000000 +0200
+++ b/kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp 2019-06-18 14:20:11.853007246 +0200
@@ -42,7 +42,7 @@
         if (backend->getMode() == TouchpadInputBackendMode::XLibinput) {
             m_plugin = new TouchpadConfigLibinput(this, backend);
         }
-        else if (backend->getMode() == TouchpadInputBackendMode::XSynaptics) {
+        else {
             m_plugin = new TouchpadConfigXlib(this, backend);
         }
     } else if (KWindowSystem::isPlatformWayland()) {
diff -urN a/kcms/touchpad/src/touchpadbackend.h b/kcms/touchpad/src/touchpadbackend.h
--- a/kcms/touchpad/src/touchpadbackend.h       2019-06-07 18:08:11.000000000 +0200
+++ b/kcms/touchpad/src/touchpadbackend.h       2019-06-18 14:18:57.915432036 +0200
@@ -25,9 +25,10 @@
 #include <QVariantHash>
 
 enum class TouchpadInputBackendMode {
-    WaylandLibinput = 0,
-    XLibinput = 1,
-    XSynaptics = 2
+    Unset = 0,
+    WaylandLibinput = 1,
+    XLibinput = 2,
+    XSynaptics = 3
 };
 
 class Q_DECL_EXPORT TouchpadBackend : public QObject
@@ -35,7 +36,7 @@
     Q_OBJECT
 
 protected:
-    explicit TouchpadBackend(QObject *parent) : QObject(parent) {}
+    explicit TouchpadBackend(QObject *parent) : QObject(parent), m_mode(TouchpadInputBackendMode::Unset) {}
     void setMode(TouchpadInputBackendMode mode);
 
 public:


which will create the Synaptics backend as m_plugin in case of no touchpad (as in Plasma 5.15), which will show a message 'No touchpad found' and disable all controls.
Comment 13 Casey 2019-06-18 16:00:06 UTC
So is this only an issue in X? I haven't been on my test machine (Surface Pro 2 w/ keyboard and touchpad cover) for a few days, but if all works in Wayland, I'll just make the switch over to a Wayland Session.  That way I also get the added onscreen keyboard! :D

Thanks to all that are looking into and working on this! Please let me know if you need any additional info/data.
Comment 14 Nate Graham 2019-06-18 17:25:29 UTC
Thanks so much for the investigation and the proposed patch, Bastian! Would you mind submitting it using Phabricator? It's dead simple to just copy-and-paste your diff into https://phabricator.kde.org/differential/diff/create/. Please mark @ngraham, @romangg, @atulbi, and #plasma as reviewers.

Full documentation is available at https://community.kde.org/Infrastructure/Phabricator
Comment 15 Bastian Beischer 2019-06-18 18:02:20 UTC
Nate, sure.

https://phabricator.kde.org/D21884
Comment 16 Nate Graham 2019-06-18 18:03:31 UTC
Thanks very much! I'll see if we can get some eyeballs on that in the next few days.
Comment 17 Eric Donkersloot 2019-06-18 19:22:01 UTC
Hi guys,

I guess I'm subscribed to the wrong bug report. This is teh behaviour I'm seeing since 5.16:

On 5.15.5 (libunput installed, no xf86-input-synaptics installed):

1. Everything works fine, no crashes whatsoever
2. When I connect a bluetooth mouse, the touchpad disables as expected
3. When I disconnect the bluetooth mouse again, the touchpad is re-enabled

On 5.16 (libinput installed, no xf86-input-synatics installed):

1. kdeinit5 crashes after logging in
2. When I connect a bluetooth mouse, the touchpad disables as expected
3. When I disconnect the bluetooth mouse again, the touchpad is _not_ re-enabled

A workaround for the behaviour above:

1. Manually enable the touchpad again
2. Log out and log in again
3. Install xf86-input-synaptics, this will also prevent kdeinit5 from crashing

My system:

Lenovo X1 Carbon 6th gen
Operating System: Arch Linux 
KDE Plasma Version: 5.16.0
KDE Frameworks Version: 5.59.0
Qt Version: 5.12.4
Kernel Version: 5.1.11-arch1-1-ARCH
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-8550U CPU @ 1.80GHz
Memory: 15,4 GiB of RAM

Should a file another bug?
Comment 18 Nate Graham 2019-06-19 16:41:38 UTC
Git commit b7127724309a136a1a8647341df9f5ad02b22698 by Nate Graham, on behalf of Bastian Beischer.
Committed on 19/06/2019 at 16:39.
Pushed by ngraham into branch 'Plasma/5.16'.

[Touchpad KCM] Do not crash in case there is no touchpad

Summary:
FIXED-IN: 5.16.2

Reviewers: ngraham, romangg, atulbi, #plasma, davidedmundson

Reviewed By: ngraham, romangg, #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel

Tags: #plasma

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

M  +4    -1    kcms/touchpad/src/kcm/touchpadconfigcontainer.cpp
M  +5    -4    kcms/touchpad/src/touchpadbackend.h

https://commits.kde.org/plasma-desktop/b7127724309a136a1a8647341df9f5ad02b22698
Comment 19 Nate Graham 2019-06-19 17:00:34 UTC
Thanks so much, Bastian!

Eric, that's a separate issue. Please file a new bug for it.