Bug 449849 - Crash when opening the tablet KCM a second time
Summary: Crash when opening the tablet KCM a second time
Status: RESOLVED DUPLICATE of bug 451233
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (show other bugs)
Version: 5.24.0
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-09 12:39 UTC by Antonio Rojas
Modified: 2022-07-01 13:48 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.25


Attachments
New crash information added by DrKonqi (2.17 KB, text/plain)
2022-02-22 21:13 UTC, Himbeer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2022-02-09 12:39:32 UTC
(Note: filing under general as I can't find a kcm_tablet component)

STEPS TO REPRODUCE
1. Open systemsettings 
2. Navigate to the Tablet KCM
3. Switch to any other KCM
4. Switch back to the Tablet KCM

OBSERVED RESULT
Crash

#0  0x00007ffff54927ec in QQmlData::wasDeleted (object=0x555556ce5a10)
    at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmldata_p.h:338
#1  QV4::QObjectWrapper::wrap (engine=0x555556238810, object=0x555556ce5a10)
    at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper_p.h:213
#2  0x00007ffff54a612c in QV4::ExecutionEngine::fromVariant (this=0x555556238810, variant=...)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:1771
#3  0x00007ffff550ca8f in (anonymous namespace)::CallArgument::toValue (this=0x7fffffff80e0, 
    engine=engine@entry=0x555556238810) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1976
#4  0x00007ffff551003e in CallMethod (callType=<optimized out>, callArgs=0x7fffffff8108, engine=<optimized out>, 
    argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...)
    at /usr/include/qt/QtCore/qvarlengtharray.h:138
#5  CallPrecise (object=..., data=..., engine=engine@entry=0x555556238810, callArgs=callArgs@entry=0x7fff8a6e7590, 
    callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1568
#6  0x00007ffff5510f52 in QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, 
    argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2130
#7  0x00007ffff5520d5d in QV4::Moth::VME::interpret (frame=0x7fffffff8730, engine=0x555556238810, 
    code=0x7fff8a6e7540 " \267Js\377\177") at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:754
#8  0x00007ffff5524765 in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:463
#9  0x00007ffff54c646e in QV4::Function::call (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, 
    argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
#10 0x00007ffff5624862 in QQmlJavaScriptExpression::evaluate (this=0x5555561eec40, callData=0x7fff8a6e74d0, 
    isUndefined=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
#11 0x00007ffff55deb93 in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
#12 0x00007ffff55e064c in QQmlBoundSignal_callback (a=0x0, e=0x55555663c540)
    at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#13 QQmlBoundSignal_callback (e=0x55555663c540, a=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341
#14 0x00007ffff5604425 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#15 0x00007ffff6a898ee in doActivate<false> (sender=0x55555628d3d0, signal_index=68, argv=0x0) at kernel/qobject.cpp:3778
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007ffff0cb94a8 in QQuickComboBoxPrivate::setCurrentIndex (activate=(anonymous namespace)::NoActivate, 
    index=<optimized out>, this=0x5555560c8900)
    at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickcombobox.cpp:528
#17 QQuickComboBox::setCurrentIndex (this=<optimized out>, index=<optimized out>)
    at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickcombobox.cpp:967
#18 0x00007ffff5633a1c in QQmlObjectCreator::finalize (this=0x5555569762c0, interrupt=...)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1414
#19 0x00007ffff55d7200 in QQmlIncubatorPrivate::incubate (this=0x7fffe8007190, i=...)
    at /usr/include/qt/QtCore/qscopedpointer.h:116
#20 0x00007ffff55d7c5e in QQmlEnginePrivate::incubate (this=0x5555570c3360, i=..., forContext=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlincubator.cpp:89
#21 0x00007ffff55d7edf in QQmlComponent::create (this=<optimized out>, incubator=..., context=<optimized out>, 
    forContext=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1178
#22 0x00007ffff5ce15ac in KDeclarative::QmlObject::completeInitialization(QHash<QString, QVariant> const&) ()
   from /usr/lib/libKF5Declarative.so.5
#23 0x00007ffff7e95f8b in KQuickAddons::ConfigModule::mainUi() () from /usr/lib/libKF5QuickAddons.so.5
#24 0x00007ffff63b316e in KCModuleLoader::loadModule(KPluginMetaData const&, QWidget*, QList<QVariant> const&) ()
   from /usr/lib/libKF5KCMUtils.so.5
#25 0x00007ffff63b608f in ?? () from /usr/lib/libKF5KCMUtils.so.5
#26 0x00007ffff63b66ab in KCModuleProxy::realModule() const () from /usr/lib/libKF5KCMUtils.so.5
#27 0x00007ffff7f7e78c in ModuleView::updatePageIconHeader (this=this@entry=0x555555c53210, page=page@entry=0x555557198b80)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:286
#28 0x00007ffff7f7fc2e in ModuleView::addModule (this=0x555555c53210, item=<optimized out>, args=...)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:263
#29 0x00007ffff7f80501 in ModuleView::loadModule (args=..., menuItem=..., this=<optimized out>)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:219
#30 0x00007fffec17b027 in SidebarMode::loadModule (this=0x55555583f8a0, activeModule=..., args=...)
    at /usr/src/debug/systemsettings-5.24.0/sidebar/SidebarMode.cpp:489
#31 0x00007fffec17f014 in SidebarMode::loadModule (args=..., activeModule=..., this=0x55555583f8a0)
    at /usr/include/qt/QtCore/qabstractitemmodel.h:76
#32 SidebarMode::qt_static_metacall (_o=0x55555583f8a0, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffaf00)
    at /usr/src/debug/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:525
#33 0x00007fffec17fc03 in SidebarMode::qt_metacall (this=0x55555583f8a0, _c=QMetaObject::InvokeMetaMethod, _id=20, 
    _a=0x7fffffffaf00)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/src/debug/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:661
#34 0x00007ffff560ccb6 in QQmlObjectOrGadget::metacall (this=0x7fffffffb1a0, type=QMetaObject::InvokeMetaMethod, 
    index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
#35 0x00007ffff551002d in CallMethod (callType=<optimized out>, callArgs=0x7fffffffaf88, engine=<optimized out>, 
    argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...)
    at /usr/include/qt/QtCore/qvarlengtharray.h:189
#36 CallPrecise (object=..., data=..., engine=engine@entry=0x555555933700, callArgs=callArgs@entry=0x7fffd82a75b0, 
    callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1568
#37 0x00007ffff55110fb in CallOverloaded (callType=QMetaObject::InvokeMetaMethod, propertyCache=0x555555e4b0f0, 
    callArgs=0x7fffd82a75b0, engine=0x555555933700, data=..., object=...)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1644
#38 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, 
    argc=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2132
#39 0x00007ffff5520d5d in QV4::Moth::VME::interpret (frame=0x7fffffffb5b0, engine=0x555555933700, 
    code=0x7fffd82a7538 "\240OF\320\377\177") at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:754
#40 0x00007ffff5524765 in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:463
#41 0x00007ffff54c646e in QV4::Function::call (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, 
    argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
#42 0x00007ffff5624862 in QQmlJavaScriptExpression::evaluate (this=0x555556704e90, callData=0x7fffd82a74d0, 
    isUndefined=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
#43 0x00007ffff55deb93 in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
#44 0x00007ffff55e064c in QQmlBoundSignal_callback (a=0x0, e=0x555556704e40)
    at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#45 QQmlBoundSignal_callback (e=0x555556704e40, a=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341
#46 0x00007ffff5604425 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#47 0x00007ffff6a898ee in doActivate<false> (sender=0x5555561fc350, signal_index=64, argv=0x0) at kernel/qobject.cpp:3778
#48 0x00007ffff0cad91a in QQuickAbstractButtonPrivate::handleRelease (this=0x555556c17b70, point=...)
    at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickabstractbutton.cpp:182
#49 0x00007ffff0cc8a69 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7fffffffd5e0)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickcontrol.cpp:2151
#50 0x00007ffff59da9db in QQuickItem::event (this=0x5555561fc350, ev=0x7fffffffd5e0)
    at /usr/src/debug/qtdeclarative/src/quick/items/qquickitem.cpp:8200
#51 0x00007ffff75cd1a6 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555561fc350, 
    e=0x7fffffffd5e0) at kernel/qapplication.cpp:3632
#52 0x00007ffff6a5916a in QCoreApplication::notifyInternal2 (receiver=0x5555561fc350, event=0x7fffffffd5e0)
    at kernel/qcoreapplication.cpp:1064
#53 0x00007ffff59e90f1 in QQuickWindowPrivate::deliverMouseEvent (this=this@entry=0x555555922870, 
    pointerEvent=0x5555566edcc0) at /usr/src/debug/qtdeclarative/src/quick/items/qquickwindow.cpp:2019
#54 0x00007ffff59e9aa4 in QQuickWindowPrivate::deliverPointerEvent (this=0x555555922870, event=0x5555566edcc0)
    at /usr/src/debug/qtdeclarative/src/quick/items/qquickwindow.cpp:2611
#55 0x00007ffff6f3926d in QWindow::event (this=0x555555855f20, ev=<optimized out>) at kernel/qwindow.cpp:2438
#56 0x00007ffff75cd1a6 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555855f20, 
    e=0x7fffffffd5e0) at kernel/qapplication.cpp:3632
#57 0x00007ffff6a5916a in QCoreApplication::notifyInternal2 (receiver=0x555555855f20, event=0x7fffffffd5e0)
    at kernel/qcoreapplication.cpp:1064
#58 0x00007ffff46b2e1e in QQuickWidget::mouseReleaseEvent (this=<optimized out>, e=0x7fffffffdb40)
    at /usr/src/debug/qtdeclarative/src/quickwidgets/qquickwidget.cpp:1417
#59 0x00007ffff7603616 in QWidget::event (this=0x5555558a4e70, event=0x7fffffffdb40) at kernel/qwidget.cpp:8646
#60 0x00007ffff75cd1a6 in QApplicationPrivate::notify_helper (this=this@entry=0x5555555b6560, 
    receiver=receiver@entry=0x5555558a4e70, e=e@entry=0x7fffffffdb40) at kernel/qapplication.cpp:3632
#61 0x00007ffff75d1fd7 in QApplication::notify (this=0x7fffffffd7d0, receiver=0x5555558a4e70, e=0x7fffffffdb40)
    at kernel/qapplication.cpp:3076
#62 0x00007ffff6a5916a in QCoreApplication::notifyInternal2 (receiver=0x5555558a4e70, event=0x7fffffffdb40)
    at kernel/qcoreapplication.cpp:1064
#63 0x00007ffff75d099f in QApplicationPrivate::sendMouseEvent (receiver=0x5555558a4e70, event=0x7fffffffdb40, 
    alienWidget=0x5555558a4e70, nativeWidget=0x55555570c1d0, buttonDown=<optimized out>, lastMouseReceiver=..., 
    spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#64 0x00007ffff76217d7 in QWidgetWindow::handleMouseEvent (this=0x55555588f390, event=0x7fffffffdeb0)
    at kernel/qwidgetwindow.cpp:683
#65 0x00007ffff762337c in QWidgetWindow::event (this=0x55555588f390, event=0x7fffffffdeb0) at kernel/qwidgetwindow.cpp:300
#66 0x00007ffff75cd1a6 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555588f390, 
    e=0x7fffffffdeb0) at kernel/qapplication.cpp:3632
#67 0x00007ffff6a5916a in QCoreApplication::notifyInternal2 (receiver=0x55555588f390, event=0x7fffffffdeb0)
--Type <RET> for more, q to quit, c to continue without paging--
    at kernel/qcoreapplication.cpp:1064
#68 0x00007ffff6f29f60 in QGuiApplicationPrivate::processMouseEvent (e=0x555556376930) at kernel/qguiapplication.cpp:2282
#69 0x00007ffff6f155e5 in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
    at kernel/qwindowsysteminterface.cpp:1169
#70 0x00007ffff3fb9b45 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) ()
   from /usr/lib/libQt5WaylandClient.so.5
#71 0x00007ffff470ef13 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#72 0x00007ffff47650d9 in ?? () from /usr/lib/libglib-2.0.so.0
#73 0x00007ffff470c485 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#74 0x00007ffff6aa444a in QEventDispatcherGlib::processEvents (this=0x5555555f8190, flags=...)
    at kernel/qeventdispatcher_glib.cpp:423
#75 0x00007ffff6a5144b in QEventLoop::exec (this=0x7fffffffe240, flags=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#76 0x00007ffff6a5cb97 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#77 0x00007ffff6f25162 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#78 0x00007ffff75cb52a in QApplication::exec () at kernel/qapplication.cpp:2824
#79 0x000055555555fbfa in main (argc=<optimized out>, argv=0x7fffffffe370)
    at /usr/src/debug/systemsettings-5.24.0/app/main.cpp:183


SOFTWARE/OS VERSIONS
Linux/KDE Plasma
KDE Plasma Version: 5.24.0 
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2+kde
Comment 1 Nate Graham 2022-02-11 17:12:45 UTC
> (Note: filing under general as I can't find a kcm_tablet component)
Created one!

And I can reproduce the issue. All the action seems to be here:

#23 0x00007ffff7e95f8b in KQuickAddons::ConfigModule::mainUi() () from /usr/lib/libKF5QuickAddons.so.5
#24 0x00007ffff63b316e in KCModuleLoader::loadModule(KPluginMetaData const&, QWidget*, QList<QVariant> const&) ()
   from /usr/lib/libKF5KCMUtils.so.5
#25 0x00007ffff63b608f in ?? () from /usr/lib/libKF5KCMUtils.so.5
#26 0x00007ffff63b66ab in KCModuleProxy::realModule() const () from /usr/lib/libKF5KCMUtils.so.5
#27 0x00007ffff7f7e78c in ModuleView::updatePageIconHeader (this=this@entry=0x555555c53210, page=page@entry=0x555557198b80)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:286
#28 0x00007ffff7f7fc2e in ModuleView::addModule (this=0x555555c53210, item=<optimized out>, args=...)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:263
#29 0x00007ffff7f80501 in ModuleView::loadModule (args=..., menuItem=..., this=<optimized out>)
    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:219
#30 0x00007fffec17b027 in SidebarMode::loadModule (this=0x55555583f8a0, activeModule=..., args=...)
    at /usr/src/debug/systemsettings-5.24.0/sidebar/SidebarMode.cpp:489
#31 0x00007fffec17f014 in SidebarMode::loadModule (args=..., activeModule=..., this=0x55555583f8a0)
    at /usr/include/qt/QtCore/qabstractitemmodel.h:76


This is suspicious to me:

> #27 0x00007ffff7f7e78c in ModuleView::updatePageIconHeader (this=this@entry=0x555555c53210, page=page@entry=0x555557198b80)
>    at /usr/src/debug/systemsettings-5.24.0/core/ModuleView.cpp:286

Some of this code changed in https://invent.kde.org/plasma/systemsettings/-/commit/19f88c428de426a8a4db2b43f51f558437bf279e

Ismael, could you investigate?
Comment 2 Himbeer 2022-02-22 21:13:53 UTC
Created attachment 147059 [details]
New crash information added by DrKonqi

systemsettings (5.24.2) using Qt 5.15.2

- What I was doing when the application crashed:
1. Open Settings->Input Devices->Drawing Tablet
2. Choose another input device from the same settings
3. Try switching back to Drawing Tablet
4. Settings crashes

- Custom settings of the application:
I use KDE with Wayland

-- Backtrace (Reduced):
#6  0x00007f4ec0083dc6 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#7  0x00007f4ec0bd81a6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#8  0x00007f4ec005fb9a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#9  0x00007f4ec0060699 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
[...]
#14 0x00007f4ec00abada in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
Comment 3 Nate Graham 2022-04-21 14:31:56 UTC
This should be fixed with changes in Plasma 5.25.
Comment 4 Antonio Rojas 2022-05-20 06:57:56 UTC
Not fixed in 5.25 beta
Comment 5 Antonio Rojas 2022-07-01 13:48:26 UTC

*** This bug has been marked as a duplicate of bug 451233 ***