Bug 451099

Summary: Settings crashes when picking a .tar.gz archive as a cursor theme
Product: [Applications] systemsettings Reporter: Timofey <me>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: nate, nicolas.fella
Priority: NOR Keywords: drkonqi
Version First Reported In: 5.24.2   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Timofey 2022-03-03 17:54:47 UTC
Application: systemsettings (5.24.2)

Qt Version: 5.15.2
Frameworks Version: 5.91.0
Operating System: Linux 5.16.11-200.fc35.x86_64 x86_64
Windowing System: X11
Distribution: Fedora Linux 35 (Workstation Edition)
DrKonqi: 5.24.2 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
1. Open Mouse cursors
2. Install from file
3. Here's the archive I used: https://github.com/ful1e5/pokemon-cursor/releases/tag/v1.0.0
4. The settings app crashes, though the cursors get installed.

The crash can be reproduced every time.

-- Backtrace:
Application: Параметры системы (systemsettings), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f6af48f8204 in CursorThemeConfig::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .cold] () from /usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_cursortheme.so
#5  0x00007f6af4903293 in CursorThemeConfig::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt5/plugins/plasma/kcms/systemsettings/kcm_cursortheme.so
#6  0x00007f6b1de096f5 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () from /lib64/libQt5Qml.so.5
#7  0x00007f6b1dd136ab in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () from /lib64/libQt5Qml.so.5
#8  0x00007f6b1dd145c7 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /lib64/libQt5Qml.so.5
#9  0x00007f6b1dd24271 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () from /lib64/libQt5Qml.so.5
#10 0x00007f6b1dd27c15 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) [clone .part.0] () from /lib64/libQt5Qml.so.5
#11 0x00007f6b1dcca7de in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /lib64/libQt5Qml.so.5
#12 0x00007f6b1de24c71 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /lib64/libQt5Qml.so.5
#13 0x00007f6b1dddeae1 in QQmlBoundSignalExpression::evaluate(void**) () from /lib64/libQt5Qml.so.5
#14 0x00007f6b1dddee73 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () from /lib64/libQt5Qml.so.5
#15 0x00007f6b1de09625 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /lib64/libQt5Qml.so.5
#16 0x00007f6b1f332272 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#17 0x00007f6b1e2bb1f6 in QQuickItemViewPrivate::layout() () from /lib64/libQt5Quick.so.5
#18 0x00007f6b1e20ea9c in QQuickWindowPrivate::polishItems() () from /lib64/libQt5Quick.so.5
#19 0x00007f6b1e29cf92 in QQuickRenderControl::polishItems() () from /lib64/libQt5Quick.so.5
#20 0x00007f6b1cfaac15 in QQuickWidgetPrivate::render(bool) () from /lib64/libQt5QuickWidgets.so.5
#21 0x00007f6b1cfac30a in QQuickWidget::timerEvent(QTimerEvent*) () from /lib64/libQt5QuickWidgets.so.5
#22 0x00007f6b1f328edf in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#23 0x00007f6b1fede443 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#24 0x00007f6b1f2fe7d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#25 0x00007f6b1f34eea3 in QTimerInfoList::activateTimers() () from /lib64/libQt5Core.so.5
#26 0x00007f6b1f34f7ac in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#27 0x00007f6b1d00e05f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#28 0x00007f6b1d0632a8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#29 0x00007f6b1d00b853 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#30 0x00007f6b1f34fbb8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#31 0x00007f6b1f2fd1e2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#32 0x00007f6b1f305724 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#33 0x0000558ab04041cf in main ()
[Inferior 1 (process 176967) detached]

Possible duplicates by query: bug 449990, bug 449931, bug 449869, bug 449849, bug 449613.

Reported using DrKonqi
Comment 1 Nicolas Fella 2022-03-03 23:29:17 UTC
Application: System Settings (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char, std::default_delete<char []> >> = {_M_t = {<std::_Tuple_impl<0, char*, std::default_delete<char []> >> = {<std::_Tuple_impl<1, std::default_delete<char []> >> = {<std::_Head_base<1, std::default_delete<char []>, true>> = {_M_head_impl = {<No data fields>}}, <No data fields>}, <std::_Head_base<0, char*, false>> = {_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}, <No data fields>}}
[KCrash Handler]
#5  0x00007f42573a23dc in QString::QString (this=0x7ffd9c4b0788, other=...) at /home/nico/kde/usr/include/QtCore/qstring.h:1093
#6  0x00007f42573a2f37 in CursorTheme::name (this=0x0) at /home/nico/kde/src/plasma-workspace/kcms/cursortheme/xcursor/cursortheme.h:66
#7  0x00007f425739ff8b in CursorThemeConfig::cursorThemeFromIndex (this=0x4069fb0, index=11) at /home/nico/kde/src/plasma-workspace/kcms/cursortheme/kcmcursortheme.cpp:288
#8  0x00007f425739c6fe in CursorThemeConfig::qt_static_metacall (_o=0x4069fb0, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7ffd9c4b0970) at /home/nico/kde/build/plasma-workspace/kcms/cursortheme/kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:194
#9  0x00007f425739cf31 in CursorThemeConfig::qt_metacall (this=0x4069fb0, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7ffd9c4b0970) at /home/nico/kde/build/plasma-workspace/kcms/cursortheme/kcm_cursortheme_autogen/EWIEGA46WW/moc_kcmcursortheme.cpp:347
#10 0x00007f42765613ad in QQmlObjectOrGadget::metacall (this=this@entry=0x7ffd9c4b0c00, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=54, argv=<optimized out>) at qml/qqmlobjectorgadget.cpp:51
#11 0x00007f4276446af2 in CallMethod (callType=<optimized out>, callArgs=0x7ffd9c4b09f8, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...) at /home/nico/workspace/qt5-kde/qtbase/include/QtCore/../../src/corelib/tools/qvarlengtharray.h:189
#12 CallPrecise (object=..., data=..., engine=engine@entry=0x36aab40, callArgs=callArgs@entry=0x7f4256d3f590, callType=callType@entry=QMetaObject::InvokeMetaMethod) at jsruntime/qv4qobjectwrapper.cpp:1568
#13 0x00007f427644880b in CallOverloaded (callType=<optimized out>, propertyCache=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, data=..., object=...) at jsruntime/qv4qobjectwrapper.cpp:1644
#14 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at jsruntime/qv4qobjectwrapper.cpp:2132
#15 0x00007f42764645e3 in QV4::FunctionObject::call (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/jsruntime/qv4functionobject_p.h:202
#16 QV4::Moth::VME::interpret (frame=0x7ffd9c4b0ea0, engine=0x36aab40, code=0x7f4256d3f540 "@?eTB\177") at jsruntime/qv4vme_moth.cpp:754
#17 0x00007f4276467267 in QV4::Moth::VME::exec (frame=frame@entry=0x7ffd9c4b0ea0, engine=engine@entry=0x36aab40) at jsruntime/qv4vme_moth.cpp:463
#18 0x00007f42763fe19e in QV4::Function::call (this=this@entry=0x3e96f50, thisObject=<optimized out>, argv=argv@entry=0x7f4256d3f500, argc=<optimized out>, context=<optimized out>) at jsruntime/qv4function.cpp:69
#19 0x00007f427657aed5 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x1d481d0, callData=callData@entry=0x7f4256d3f4d0, isUndefined=isUndefined@entry=0x0) at qml/qqmljavascriptexpression.cpp:212
#20 0x00007f427652f6bb in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#21 0x00007f4276530d00 in QQmlBoundSignal_callback (e=0x36cf890, a=0x0) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#22 0x00007f4276560eb5 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at qml/qqmlnotifier.cpp:104
#23 0x00007f427444eaff in doActivate<false> (sender=0x237d650, signal_index=77, argv=0x0) at kernel/qobject.cpp:3778
#24 0x00007f4276acf229 in QQuickItemViewPrivate::applyModelChanges (this=this@entry=0x34c2210, totalInsertionResult=totalInsertionResult@entry=0x7ffd9c4b2bf0, totalRemovalResult=totalRemovalResult@entry=0x7ffd9c4b2c20) at items/qquickitemview.cpp:2121
#25 0x00007f4276acfe5a in QQuickItemViewPrivate::layout (this=0x34c2210) at items/qquickitemview.cpp:1895
#26 0x00007f4276a2dfb5 in QQuickWindowPrivate::polishItems (this=this@entry=0x20d2d10) at items/qquickwindow.cpp:393
#27 0x00007f4276aadd5e in QQuickRenderControl::polishItems (this=<optimized out>) at items/qquickrendercontrol.cpp:277
#28 0x00007f4273c09135 in QQuickWidgetPrivate::render (this=0x1cfd750, needsSync=<optimized out>) at qquickwidget.cpp:306
#29 0x00007f4273c09368 in QQuickWidgetPrivate::renderSceneGraph (this=0x1cfd750) at qquickwidget.cpp:361
#30 0x00007f427444561f in QObject::event (this=0x1cfb1e0, e=0x7ffd9c4b2f70) at kernel/qobject.cpp:1336
#31 0x00007f427527fa3f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1cfb1e0, e=0x7ffd9c4b2f70) at kernel/qapplication.cpp:3632
#32 0x00007f427441acca in QCoreApplication::notifyInternal2 (receiver=0x1cfb1e0, event=0x7ffd9c4b2f70) at kernel/qcoreapplication.cpp:1064
#33 0x00007f427446dc5b in QTimerInfoList::activateTimers (this=this@entry=0x17d2850) at kernel/qtimerinfo_unix.cpp:643
#34 0x00007f427446e434 in timerSourceDispatch (source=source@entry=0x17d27f0) at kernel/qeventdispatcher_glib.cpp:183
#35 0x00007f4272e59e22 in g_main_dispatch (context=0x17d3e30) at ../glib/gmain.c:3381
#36 g_main_context_dispatch (context=0x17d3e30) at ../glib/gmain.c:4099
#37 0x00007f4272e5a1b8 in g_main_context_iterate (context=context@entry=0x17d3e30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4175
#38 0x00007f4272e5a26f in g_main_context_iteration (context=0x17d3e30, may_block=1) at ../glib/gmain.c:4240
#39 0x00007f427446e794 in QEventDispatcherGlib::processEvents (this=0x17cb540, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#40 0x00007f427441984b in QEventLoop::exec (this=this@entry=0x7ffd9c4b31a0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#41 0x00007f427442149c in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#42 0x00007f42749f038c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#43 0x00007f427527f9b5 in QApplication::exec () at kernel/qapplication.cpp:2824
#44 0x000000000040dbad in main (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/systemsettings/app/main.cpp:183
[Inferior 1 (process 28868) detached]
Comment 2 Bug Janitor Service 2022-03-04 00:27:20 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1499
Comment 3 Timofey 2025-08-19 15:35:03 UTC
Works for me now, and is fixed according to https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1499#note_1054754, closing