Bug 432370 - Crash in CursorTheme::name() when deleting currently used custom cursors
Summary: Crash in CursorTheme::name() when deleting currently used custom cursors
Status: RESOLVED WORKSFORME
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_cursortheme (other bugs)
Version First Reported In: 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: 2025-11-09 03:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


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
Comment 1 Nate Graham 2025-10-10 16:19:40 UTC
Thank you for the bug report, and I'm sorry we weren't able to look into it yet. A lot has changed since it was reported; can I ask you to see if this is still an issue with Plasma 6.4 or later? Thanks a lot!
Comment 2 Bug Janitor Service 2025-10-25 03:47:26 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Bug Janitor Service 2025-11-09 03:47:37 UTC
๐Ÿ›๐Ÿงน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME.