Bug 432370 - Crash in CursorTheme::name() when deleting currently used custom cursors
Summary: Crash in CursorTheme::name() when deleting currently used custom cursors
Status: REPORTED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_cursortheme (show other bugs)
Version: 5.20.5
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-02-01 09:04 UTC by seplexfake
Modified: 2021-02-01 17:29 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description seplexfake 2021-02-01 09:04:42 UTC
Application: systemsettings5 (5.20.5)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.9-1-default x86_64
Windowing system: X11
Distribution: openSUSE Tumbleweed

-- Information about the crash:
- What I was doing when the application crashed:
I have installed custom cursors.
Applied the installed cursors.
Restarted the settings app.
And deleted the cursors. (not from the store,  but from the cursors menu in settings)

- Custom settings of the application:
I have a bunch of themes, maybe it's my fault

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault

[KCrash Handler]
#4  QString::QString (other=..., this=0x7ffe30a7f788) at /usr/include/qt5/QtCore/qstring.h:1093
#5  CursorTheme::name (this=0x0) at /usr/src/debug/plasma5-workspace-5.20.5-3.1.x86_64/kcms/cursortheme/xcursor/cursortheme.h:65
#6  operator() (roles=..., end=..., start=..., __closure=0x55a747152660) at /usr/src/debug/plasma5-workspace-5.20.5-3.1.x86_64/kcms/cursortheme/kcmcursortheme.cpp:103
#7  QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<const QModelIndex&, const QModelIndex&, const QVector<int>&>, void, CursorThemeConfig::CursorThemeConfig(QObject*, const QVariantList&)::<lambda(const QModelIndex&, const QModelIndex&, const QVector<int>&)> >::call (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#8  QtPrivate::Functor<CursorThemeConfig::CursorThemeConfig(QObject*, const QVariantList&)::<lambda(const QModelIndex&, const QModelIndex&, const QVector<int>&)>, 3>::call<QtPrivate::List<QModelIndex const&, QModelIndex const&, QVector<int> const&>, void> (arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#9  QtPrivate::QFunctorSlotObject<CursorThemeConfig::CursorThemeConfig(QObject*, const QVariantList&)::<lambda(const QModelIndex&, const QModelIndex&, const QVector<int>&)>, 3, QtPrivate::List<const QModelIndex&, const QModelIndex&, const QVector<int>&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55a747152650, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#10 0x00007f9775d818c6 in QtPrivate::QSlotObjectBase::call (a=0x7ffe30a7f900, r=0x55a74874abd0, this=0x55a747152650) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false> (sender=0x55a74297c180, signal_index=3, argv=argv@entry=0x7ffe30a7f900) at kernel/qobject.cpp:3886
#12 0x00007f9775d7ac20 in QMetaObject::activate (sender=sender@entry=0x55a74297c180, m=m@entry=0x7f977602df40 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe30a7f900) at kernel/qobject.cpp:3946
#13 0x00007f9775ce5ec5 in QAbstractItemModel::dataChanged (this=this@entry=0x55a74297c180, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#14 0x00007f9743def18e in CursorThemeModel::setData (this=0x55a74297c180, index=..., value=..., role=<optimized out>) at /usr/src/debug/plasma5-workspace-5.20.5-3.1.x86_64/kcms/cursortheme/xcursor/thememodel.cpp:152
#15 0x00007f9775d16579 in QSortFilterProxyModel::setData (this=this@entry=0x55a748674cb0, index=..., value=..., role=role@entry=614718202) at itemmodels/qsortfilterproxymodel.cpp:2262
#16 0x00007f97735c80b5 in QQmlDMAbstractItemModelData::setValue (value=..., role=614718202, this=0x55a747ed96d0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qmlmodels/qqmladaptormodel.cpp:421
#17 QQmlDMCachedModelData::metaCall (this=0x55a747ed96d0, call=<optimized out>, id=<optimized out>, arguments=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qmlmodels/qqmladaptormodel.cpp:298
#18 0x00007f9774d21de0 in QQmlPropertyData::writeProperty (flags=..., value=0x7ffe30a7fc00, target=0x55a747ed96d0, this=0x55a747821b38) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:285
#19 QQmlPropertyPrivate::write (object=object@entry=0x55a747ed96d0, property=..., value=..., context=<optimized out>, flags=..., flags@entry=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmlproperty.cpp:1305
#20 0x00007f9774c4f11b in QV4::QObjectWrapper::setProperty (engine=0x55a747c60500, object=0x55a747ed96d0, property=0x55a747821b38, value=...) at /usr/include/qt5/QtCore/qflags.h:120
#21 0x00007f9774c4fb17 in QV4::QObjectWrapper::setQmlProperty (value=..., revisionMode=QV4::QObjectWrapper::IgnoreRevision, name=<optimized out>, object=0x55a747ed96d0, qmlContext=<optimized out>, engine=0x55a747c60500) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:435
#22 QV4::QObjectWrapper::setQmlProperty (engine=0x55a747c60500, qmlContext=<optimized out>, object=0x55a747ed96d0, name=<optimized out>, revisionMode=QV4::QObjectWrapper::IgnoreRevision, value=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:418
#23 0x00007f9774c4fcb5 in QV4::QObjectWrapper::virtualPut (m=0x7f97591d1640, id=..., value=..., receiver=0x7f97591d1640) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:722
#24 0x00007f9774c1b05b in QV4::Object::put (receiver=0x7f97591d1640, v=..., id=..., this=0x7f97591d1640) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4object_p.h:324
#25 QV4::Object::virtualResolveLookupSetter (object=0x7f97591d1640, engine=0x55a747c60500, lookup=0x55a74809cb50, value=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4object.cpp:804
#26 0x00007f9774c68508 in QV4::Moth::VME::interpret (frame=0x7ffe30a7ffa0, engine=0x55a747c60500, code=0x7f97357b84c8 "\016\002") at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:653
#27 0x00007f9774c6c337 in QV4::Moth::VME::exec (frame=frame@entry=0x7ffe30a7ffa0, engine=engine@entry=0x55a747c60500) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:463
#28 0x00007f9774c07b8d in QV4::Function::call (this=this@entry=0x55a748540180, thisObject=<optimized out>, argv=argv@entry=0x7f97591d15f8, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4function.cpp:69
#29 0x00007f9774d7ea75 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55a7481b6750, callData=callData@entry=0x7f97591d15c8, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:212
#30 0x00007f9774d32c3b in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#31 0x00007f9774d33120 in QQmlBoundSignal_callback (e=0x55a7481b6700, a=0x7ffe30a81c10) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#32 0x00007f9774d6285d in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x7ffe30a81c10) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmlnotifier.cpp:104
#33 0x00007f9775d81455 in doActivate<false> (sender=0x55a748411210, signal_index=11, argv=argv@entry=0x7ffe30a81c10) at kernel/qobject.cpp:3778
#34 0x00007f9775d7ac20 in QMetaObject::activate (sender=sender@entry=0x55a748411210, m=m@entry=0x7f976bff1500 <QQuickAction::staticMetaObject>, local_signal_index=local_signal_index@entry=8, argv=argv@entry=0x7ffe30a81c10) at kernel/qobject.cpp:3946
#35 0x00007f976bef5862 in QQuickAction::triggered (this=this@entry=0x55a748411210, _t1=<optimized out>, _t1@entry=0x0) at .moc/moc_qquickaction_p.cpp:363
#36 0x00007f976bef8042 in QQuickActionPrivate::trigger (this=0x55a7484112c0, source=0x0, doToggle=<optimized out>) at qquickaction.cpp:559
#37 0x00007f976bef80fe in QQuickAction::trigger (this=<optimized out>, source=<optimized out>) at qquickaction.cpp:540
#38 0x00007f976befe343 in QQuickAction::qt_metacall (this=0x55a748411210, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7ffe30a81e50) at .moc/moc_qquickaction_p.cpp:283
#39 0x00007f9774d62dad in QQmlObjectOrGadget::metacall (this=this@entry=0x7ffe30a82090, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=argv@entry=0x7ffe30a81e50) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:51
#40 0x00007f9774c4ba8e in CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=0x7f97591d1580, engine=0x55a747c60500, argTypes=0x0, argCount=0, returnType=43, index=<optimized out>, object=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1319
#41 CallPrecise (object=..., data=..., engine=engine@entry=0x55a747c60500, callArgs=callArgs@entry=0x7f97591d1580, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1573
#42 0x00007f9774c4e01a in CallOverloaded (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=..., object=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:1645
#43 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:2133
#44 0x00007f9774c6980f in QV4::FunctionObject::call (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/jsruntime/qv4functionobject_p.h:172
#45 QV4::Moth::VME::interpret (frame=0x7ffe30a82350, engine=0x55a747c60500, code=0x7f97591d1538 "@mJ5\227\177") at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:754
#46 0x00007f9774c6c337 in QV4::Moth::VME::exec (frame=frame@entry=0x7ffe30a82350, engine=engine@entry=0x55a747c60500) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:463
#47 0x00007f9774c07b8d in QV4::Function::call (this=this@entry=0x55a748709490, thisObject=<optimized out>, argv=argv@entry=0x7f97591d1500, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/jsruntime/qv4function.cpp:69
#48 0x00007f9774d7ea75 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55a747ef10b0, callData=callData@entry=0x7f97591d14d0, isUndefined=isUndefined@entry=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:212
#49 0x00007f9774d32c3b in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#50 0x00007f9774d33120 in QQmlBoundSignal_callback (e=0x55a74798d300, a=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#51 0x00007f9774d6285d in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/qml/qml/qqmlnotifier.cpp:104
#52 0x00007f9775d81455 in doActivate<false> (sender=0x55a747cce580, signal_index=64, argv=0x0) at kernel/qobject.cpp:3778
#53 0x00007f976befb151 in QQuickAbstractButtonPrivate::handleRelease (this=0x55a74712d930, point=...) at qquickabstractbutton.cpp:182
#54 0x00007f976bf15485 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7ffe30a84320) at qquickcontrol.cpp:2151
#55 0x00007f977518a928 in QQuickItem::event (this=0x55a747cce580, ev=0x7ffe30a84320) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/quick/items/qquickitem.cpp:8189
#56 0x00007f97769ec50f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a747cce580, e=0x7ffe30a84320) at kernel/qapplication.cpp:3632
#57 0x00007f9775d4b2ea in QCoreApplication::notifyInternal2 (receiver=0x55a747cce580, event=0x7ffe30a84320) at kernel/qcoreapplication.cpp:1063
#58 0x00007f97751a68b4 in QQuickWindowPrivate::deliverMouseEvent (this=this@entry=0x55a7496ddfe0, pointerEvent=0x55a747a25db0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/quick/items/qquickwindow.cpp:2020
#59 0x00007f97751a7beb in QQuickWindowPrivate::deliverPointerEvent (this=0x55a7496ddfe0, event=0x55a747a25db0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/quick/items/qquickwindow.cpp:2612
#60 0x00007f97762b4dd5 in QWindow::event (this=0x55a74810bcb0, ev=<optimized out>) at kernel/qwindow.cpp:2438
#61 0x00007f97769ec50f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a74810bcb0, e=0x7ffe30a84320) at kernel/qapplication.cpp:3632
#62 0x00007f9775d4b2ea in QCoreApplication::notifyInternal2 (receiver=0x55a74810bcb0, event=0x7ffe30a84320) at kernel/qcoreapplication.cpp:1063
#63 0x00007f97754cbf87 in QQuickWidget::mouseReleaseEvent (this=<optimized out>, e=0x7ffe30a848a0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-2.1.x86_64/src/quickwidgets/qquickwidget.cpp:1417
#64 0x00007f9776a2c35e in QWidget::event (this=0x55a7483a9f70, event=0x7ffe30a848a0) at kernel/qwidget.cpp:9019
#65 0x00007f97769ec50f in QApplicationPrivate::notify_helper (this=this@entry=0x55a73ef15220, receiver=receiver@entry=0x55a7483a9f70, e=e@entry=0x7ffe30a848a0) at kernel/qapplication.cpp:3632
#66 0x00007f97769f33fb in QApplication::notify (this=0x7ffe30a845a0, receiver=0x55a7483a9f70, e=0x7ffe30a848a0) at kernel/qapplication.cpp:3076
#67 0x00007f9775d4b2ea in QCoreApplication::notifyInternal2 (receiver=0x55a7483a9f70, event=0x7ffe30a848a0) at kernel/qcoreapplication.cpp:1063
#68 0x00007f97769f2426 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55a7483a9f70, event=event@entry=0x7ffe30a848a0, alienWidget=alienWidget@entry=0x55a7483a9f70, nativeWidget=0x55a73f1c3f10, buttonDown=buttonDown@entry=0x7f9776f1a670 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#69 0x00007f9776a443c1 in QWidgetWindow::handleMouseEvent (this=0x55a73f28d730, event=0x7ffe30a84b60) at kernel/qwidgetwindow.cpp:683
#70 0x00007f9776a478ce in QWidgetWindow::event (this=0x55a73f28d730, event=0x7ffe30a84b60) at kernel/qwidgetwindow.cpp:300
#71 0x00007f97769ec50f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a73f28d730, e=0x7ffe30a84b60) at kernel/qapplication.cpp:3632
#72 0x00007f9775d4b2ea in QCoreApplication::notifyInternal2 (receiver=0x55a73f28d730, event=0x7ffe30a84b60) at kernel/qcoreapplication.cpp:1063
#73 0x00007f97762a8b73 in QGuiApplicationPrivate::processMouseEvent (e=0x55a7485065c0) at kernel/qguiapplication.cpp:2282
#74 0x00007f977627ec5c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#75 0x00007f9770d5ffea in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#76 0x00007f977392de57 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#77 0x00007f977392e1d8 in ?? () from /usr/lib64/libglib-2.0.so.0
#78 0x00007f977392e28f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#79 0x00007f9775da283f in QEventDispatcherGlib::processEvents (this=0x55a73efe8ed0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#80 0x00007f9775d49cab in QEventLoop::exec (this=this@entry=0x7ffe30a84e90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#81 0x00007f9775d51f20 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#82 0x00007f977629c1bc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#83 0x00007f97769ec485 in QApplication::exec () at kernel/qapplication.cpp:2824
#84 0x000055a73ebf1003 in main (argc=<optimized out>, argv=0x7ffe30a84fb0) at /usr/src/debug/systemsettings5-5.20.5-2.1.x86_64/app/main.cpp:209
[Inferior 1 (process 10886) detached]

Possible duplicates by query: bug 430698, bug 430571, bug 429983, bug 429973, bug 429626.

Reported using DrKonqi