Bug 505437 - 9b7d7b00a4f23f79e62ca8de0c5789451c0aa1dd mysteriously causes the app to crash in QSortFilterProxyModel when switching Processes page to tree view
Summary: 9b7d7b00a4f23f79e62ca8de0c5789451c0aa1dd mysteriously causes the app to crash...
Status: RESOLVED FIXED
Alias: None
Product: plasma-systemmonitor
Classification: Applications
Component: general (other bugs)
Version First Reported In: 6.4.80
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-06-10 15:07 UTC by Nate Graham
Modified: 2025-06-11 15:27 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2025-06-10 15:07:37 UTC
STEPS TO REPRODUCE
1. Go to Processes page
2. Click on tree view button


OBSERVED RESULT
App crashes 100% of the time:

#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fd9658811e3 in __pthread_kill_internal (threadid=<optimized out>, signo=11)
    at pthread_kill.c:89
#2  0x00007fd965827afe in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007fd96914888a in KCrash::defaultCrashHandler (sig=11)
    at /home/nate/kde/src/kcrash/src/kcrash.cpp:605
#4  0x00007fd965827c30 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007fd9661cecfa in QHashPrivate::iterator<QHashPrivate::Node<QtPrivate::QModelIndexWrapper, QSortFilterProxyModelPrivate::Mapping*> >::node (this=<synthetic pointer>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/tools/qhash.h:796
#6  QHash<QtPrivate::QModelIndexWrapper, QSortFilterProxyModelPrivate::Mapping*>::const_iterator::key (this=<synthetic pointer>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/tools/qhash.h:1189
#7  QSortFilterProxyModel::parent (this=0x11f6d290, child=<optimized out>)
    at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/itemmodels/qsortfilterproxymodel.cpp:2141
#8  0x00007fd968ffea94 in QModelIndex::parent (this=<optimized out>)
    at /usr/include/qt6/QtCore/qabstractitemmodel.h:506
#9  QQmlModelIndexValueType::parent (this=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qmlmodels/qqmlmodelindexvaluetype_p.h:50
#10 QQmlModelIndexValueType::qt_static_metacall
    (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/redhat-linux-build/src/qmlmodels/QmlModels_autogen/include/moc_qqmlmodelindexvaluetype_p.cpp:135
#11 0x00007fd966de08c4 in QV4::doStaticReadCall
    (metaObject=<optimized out>, valueTypeWrapper=0x7fd91245ec00, index=<optimized out>, args=0x7ffd321d7a60)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qml/qml/qqmlvaluetypewrapper_p.h:58
#12 QV4::QQmlValueTypeWrapper::getGadgetProperty
    (engine=0x10827380, valueTypeWrapper=0x7fd91245ec00, metaType=..., coreIndex=<optimized out>, isFunction=<optimized out>, isEnum=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qml/qml/qqmlvaluetypewrapper.cpp:406
#13 0x00007fd8f804e454 in ??? ()
#14 0x0000000010827380 in ??? ()
#15 0x0000000000000000 in ??? ()


EXPECTED RESULT
No crash


SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.80
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.0
Kernel Version: 6.14.9-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840U w/ Radeon™ 780M Graphics
Memory: 16 GiB of RAM (14.9 GiB usable)
Graphics Processor: AMD Radeon 780M


ADDITIONAL INFORMATION
Reverting https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/9b7d7b00a4f23f79e62ca8de0c5789451c0aa1dd fixes the crash, but that makes no immediately apparent sense, since it's unrelated code.
Comment 1 David Edmundson 2025-06-11 04:59:15 UTC
Cannot reproduce
Comment 2 David Edmundson 2025-06-11 05:10:14 UTC
I got a crash on the process page:

Thread 1 "plasma-systemmo" received signal SIGABRT, Aborted.
0x00007ffff1ca774c in ?? () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff1ca774c in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff1c4ddc0 in raise () from /usr/lib/libc.so.6
#2  0x00007ffff1c3557a in abort () from /usr/lib/libc.so.6
#3  0x00007ffff23004dd in qAbort () at /home/david/projects/kde6/src/qtbase/src/corelib/global/qassert.cpp:46
#4  0x00007ffff23477da in qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...)
    at /home/david/projects/kde6/src/qtbase/src/corelib/global/qlogging.cpp:2165
#5  0x00007ffff2340a94 in qt_message (msgType=QtFatalMsg, context=..., 
    msg=0x7ffff29ffc65 "ASSERT: \"%s\" in file %s, line %d", ap=0x7ffffffee720)
    at /home/david/projects/kde6/src/qtbase/src/corelib/global/qlogging.cpp:412
#6  0x00007ffff2342ddd in QMessageLogger::fatal (this=0x7ffffffee8c8, msg=0x7ffff29ffc65 "ASSERT: \"%s\" in file %s, line %d")
    at /home/david/projects/kde6/src/qtbase/src/corelib/global/qlogging.cpp:901
#7  0x00007ffff230052b in qt_assert (assertion=0x7ffff2a1ec84 "first <= rowCount(parent)", 
    file=0x7ffff2a1e8d7 "/home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp", line=2899)
    at /home/david/projects/kde6/src/qtbase/src/corelib/global/qassert.cpp:106
#8  0x00007ffff28d8b99 in QAbstractItemModel::beginInsertRows (this=0x555557438230, parent=..., first=2, last=16)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:2899
#9  0x00007ffff294bacb in QIdentityProxyModelPrivate::sourceRowsAboutToBeInserted (this=0x555557438dd0, parent=..., start=2, 
    end=16) at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qidentityproxymodel.cpp:570
#10 0x00007ffff294edf2 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int)>::call(void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int), QIdentityProxyModelPrivate*, void**)::{lambda()#1}::operator()() const (
    this=0x7ffffffeea80) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:127
#11 0x00007ffff294ec4d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int)>::call(void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int), QIdentityProxyModelPrivate*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int)>::call(void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int), QIdentityProxyModelPrivate*, void**)::{lambda()#1}&&) (args=0x7ffffffeee60, fn=...)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:65
#12 0x00007ffff294ebd7 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<QModelIndex const&, int, int>, void, void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int)>::call (
    f=(void (QIdentityProxyModelPrivate::*)(QIdentityProxyModelPrivate * const, const QModelIndex &, int, int)) 0x7ffff294ba00 <QIdentityProxyModelPrivate::sourceRowsAboutToBeInserted(QModelIndex const&, int, int)>, o=0x555557438dd0, arg=0x7ffffffeee60)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:126
#13 0x00007ffff294eb41 in QtPrivate::FunctionPointer<void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int)>::call<QtPrivate::List<QModelIndex const&, int, int>, void> (
    f=(void (QIdentityProxyModelPrivate::*)(QIdentityProxyModelPrivate * const, const QModelIndex &, int, int)) 0x7ffff294ba00 <QIdentityProxyModelPrivate::sourceRowsAboutToBeInserted(QModelIndex const&, int, int)>, o=0x555557438dd0, arg=0x7ffffffeee60)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:174
#14 0x00007ffff294ea70 in QtPrivate::QPrivateSlotObject<void (QIdentityProxyModelPrivate::*)(QModelIndex const&, int, int), QtPrivate::List<QModelIndex const&, int, int>, void>::impl (which=1, this_=0x5555576d03d0, r=0x555557438230, a=0x7ffffffeee60, 
    ret=0x0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject_p.h:272
#15 0x00007ffff2300262 in QtPrivate::QSlotObjectBase::call (this=0x5555576d03d0, r=0x555557438230, a=0x7ffffffeee60)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#16 0x00007ffff24fead4 in doActivate<false> (sender=0x55555743f060, signal_index=12, argv=0x7ffffffeee60)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4222
#17 0x00007ffff24f50c3 in QMetaObject::activate (sender=0x55555743f060, 
    m=0x7ffff2d37e20 <QAbstractItemModel::staticMetaObject>, local_signal_index=9, argv=0x7ffffffeee60)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4282
#18 0x00007ffff28e4c95 in QMetaObject::activate<void, QModelIndex, int, int, QAbstractItemModel::QPrivateSignal> (
    sender=0x55555743f060, mo=0x7ffff2d37e20 <QAbstractItemModel::staticMetaObject>, local_signal_index=9, ret=0x0, args=..., 
    args=..., args=..., args=...) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs.h:319
#19 0x00007ffff28d8c9a in QAbstractItemModel::rowsAboutToBeInserted (this=0x55555743f060, _t1=..., _t2=2, _t3=16, _t4=...)
    at src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:682
#20 0x00007ffff28d8c0b in QAbstractItemModel::beginInsertRows (this=0x55555743f060, parent=..., first=2, last=16)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qabstractitemmodel.cpp:2903

#21 0x00007ffff295430e in QSortFilterProxyModelPrivate::insert_source_items (this=0x555556729230, source_to_proxy=..., 
    proxy_to_source=..., source_items=..., source_parent=..., direction=QSortFilterProxyModel::Direction::Rows, 
    emit_signal=true) at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:916
#22 0x00007ffff29564f9 in QSortFilterProxyModelPrivate::handle_filter_changed (this=0x555556729230, source_to_proxy=..., 
    proxy_to_source=..., source_parent=..., direction=QSortFilterProxyModel::Direction::Rows)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1364
#23 0x00007ffff2955e36 in QSortFilterProxyModelPrivate::filter_changed (this=0x555556729230, directions=..., source_parent=...)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1288
#24 0x00007ffff2956093 in QSortFilterProxyModelPrivate::filter_changed (this=0x555556729230, directions=..., source_parent=...)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:1308
#25 0x00007ffff295da31 in QSortFilterProxyModel::invalidateFilter (this=0x55555743f060)
    at /home/david/projects/kde6/src/qtbase/src/corelib/itemmodels/qsortfilterproxymodel.cpp:3129
#26 0x00007ffff7bc47d0 in ProcessSortFilterModel::setViewMode (this=0x55555743f060, 
    newViewMode=ProcessSortFilterModel::ViewAll)
    at /home/david/projects/kde6/src/plasma/plasma-systemmonitor/src/table/ProcessSortFilterModel.cpp:146
#27 0x00007ffff7bc4d61 in ProcessSortFilterModel::qt_static_metacall (_o=0x55555743f060, _c=QMetaObject::WriteProperty, _id=1, 
    _a=0x7ffffffef6e0) at src/table/PlasmaSystemMonitorTable_autogen/include/moc_ProcessSortFilterModel.cpp:166
#28 0x00007ffff7bc4f63 in ProcessSortFilterModel::qt_metacall (this=0x55555743f060, _c=QMetaObject::WriteProperty, _id=1, 
    _a=0x7ffffffef6e0) at src/table/PlasmaSystemMonitorTable_autogen/include/moc_ProcessSortFilterModel.cpp:205
#29 0x00007ffff245bedc in QMetaObject::metacall (object=0x55555743f060, cl=QMetaObject::WriteProperty, idx=13, 
    argv=0x7ffffffef6e0) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qmetaobject.cpp:348
#30 0x00007ffff385d25a in QQmlPropertyPrivate::writeEnumProperty (prop=..., idx=13, object=0x55555743f060, value=..., flags=3)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1265
#31 0x00007ffff385d7ec in QQmlPropertyPrivate::write (object=0x55555743f060, property=..., value=..., context=..., flags=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1596
#32 0x00007ffff385d3fa in QQmlPropertyPrivate::writeValueProperty (object=0x55555743f060, core=..., valueTypeData=..., 
    value=..., context=..., flags=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1327

#33 0x00007ffff36f2218 in QQmlBinding::slowWrite (this=0x555557464ed0, core=..., valueTypeData=..., result=..., 
    isUndefined=false, flags=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:554
#34 0x00007ffff3709f5e in GenericBinding<0>::write (this=0x555557464ed0, result=..., isUndefined=false, flags=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:277
#35 0x00007ffff36f2fa9 in QQmlBinding::doUpdate (this=0x555557464ed0, watcher=..., flags=..., scope=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:715
#36 0x00007ffff36f02c0 in QQmlBinding::update (this=0x555557464ed0, flags=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:165
#37 0x00007ffff36f248f in QQmlBinding::expressionChanged (this=0x555557464ed0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:617
#38 0x00007ffff37bb1ea in QQmlJavaScriptExpressionGuard_callback (e=0x555557652e90)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:562
#39 0x00007ffff380caef in QQmlNotifier::emitNotify (endpoint=0x0, a=0x0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:74
#40 0x00007ffff375bdd9 in QQmlData::signalEmitted (object=0x5555573b14d0, index=11, a=0x0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlengine.cpp:345
#41 0x00007ffff24fe26c in doActivate<false> (sender=0x5555573b14d0, signal_index=11, argv=0x0)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4112
#42 0x00007ffff24f50c3 in QMetaObject::activate (sender=0x5555573b14d0, m=0x5555567295f8, local_signal_index=7, argv=0x0)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4282
#43 0x00007ffff24f51b6 in QMetaObject::activate (sender=0x5555573b14d0, signal_index=15, argv=0x0)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4307
#44 0x00007ffff384042d in QQmlOpenMetaObject::metaCall (this=0x5555567295f0, o=0x5555573b14d0, c=QMetaObject::WriteProperty, 
    id=8, a=0x7fffffff24f0) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlopenmetaobject.cpp:288
#45 0x00007ffff36e451d in QQmlPropertyData::doMetacall<(QMetaObject::Call)2> (this=0x7fffffff35d0, object=0x5555573b14d0, 
    idx=8, argv=0x7fffffff24f0) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:395
#46 0x00007ffff36e4433 in QQmlPropertyData::writeProperty (this=0x7fffffff35d0, target=0x5555573b14d0, value=0x7fffffff33d0, 
    flags=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:415
#47 0x00007ffff385dd5d in QQmlPropertyPrivate::write (object=0x5555573b14d0, property=..., value=..., context=..., flags=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1645
#48 0x00007ffff35bab58 in QV4::QObjectWrapper::setProperty (engine=0x5555556323e0, object=0x5555573b14d0, 
    property=0x7fffffff35d0, value=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:792
#49 0x00007ffff35b8a1c in QV4::QObjectWrapper::setQmlProperty (engine=0x5555556323e0, qmlContext=..., object=0x5555573b14d0, 
    name=0x7fffe4dbd590, flags=..., value=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:577
#50 0x00007ffff35bbe93 in QV4::QObjectWrapper::virtualPut (m=0x7fffe4dbd548, id=..., value=..., receiver=0x7fffe4dbd548)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:979
#51 0x00007ffff34781d7 in QV4::Object::put (this=0x7fffe4dbd548, id=..., v=..., receiver=0x7fffe4dbd548)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4object_p.h:287
#52 0x00007ffff3587ec5 in QV4::Object::virtualResolveLookupSetter (object=0x7fffe4dbd548, engine=0x5555556323e0, 
    lookup=0x5555573b3708, value=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4object.cpp:825
#53 0x00007ffff35bd241 in QV4::QObjectWrapper::virtualResolveLookupSetter (object=0x7fffe4dbd548, engine=0x5555556323e0, 
    lookup=0x5555573b3708, value=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1168
#54 0x00007ffff3575de2 in QV4::Object::resolveLookupSetter (this=0x7fffe4dbd548, engine=0x5555556323e0, lookup=0x5555573b3708, 
    value=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4object_p.h:344
#55 0x00007ffff3574e31 in QV4::Lookup::resolveSetter (this=0x5555573b3708, engine=0x5555556323e0, object=0x7fffe4dbd548, 
    value=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4lookup.cpp:603
#56 0x00007ffff3574e8d in QV4::Lookup::setterGeneric (lookup=0x5555573b3708, engine=0x5555556323e0, object=..., value=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4lookup.cpp:609
#57 0x00007ffff358dbc0 in QV4::Lookup::setter (this=0x5555573b3708, engine=0x5555556323e0, object=..., value=...)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4lookup_p.h:404
#58 0x00007ffff367ffd4 in QV4::Moth::VME::interpret (frame=0x7fffffff6370, engine=0x5555556323e0, 
    code=0x7fffc813e988 "\032\b\006\324\026\006\002")
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:703
#59 0x00007ffff367d1b5 in QV4::Moth::VME::exec (frame=0x7fffffff6370, engine=0x5555556323e0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#60 0x00007ffff353cde7 in QV4::doCall (self=0x5555573b7830, thisObject=0x7fffe4dbd508, argv=0x7fffe4dbd500, argc=1, 
    context=0x7fffc816c2d8) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4function.cpp:52
#61 0x00007ffff353c49a in QV4::Function::call (this=0x5555573b7830, thisObject=0x7fffe4dbd508, argv=0x7fffe4dbd500, argc=1, 
    context=0x7fffc816c2d8) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4function.cpp:77
#62 0x00007ffff353e0e2 in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*)::$_0::operator()(QV4::Value const*, QV4::Value const*, int) const (this=0x7fffffff65b0, thisObject=0x7fffe4dbd508, argv=0x7fffe4dbd500, argc=1)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4function.cpp:28
#63 0x00007ffff353c191 in QV4::convertAndCall<QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*)::$_0>(QV4::ExecutionEngine*, QObject*, void**, QMetaType const*, int, QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*)::$_0) (engine=0x5555556323e0, thisObject=0x555557474790, a=0x7fffffff85c0, types=0x7fffffff6850, 
    argc=1, call=...) at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4jscall_p.h:199
#64 0x00007ffff353bee1 in QV4::Function::call (this=0x5555573b7830, thisObject=0x555557474790, a=0x7fffffff85c0, 
    types=0x7fffffff6850, argc=1, context=0x7fffc816c2d8)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/jsruntime/qv4function.cpp:25
#65 0x00007ffff37b9c15 in QQmlJavaScriptExpression::evaluate (this=0x5555574749c0, a=0x7fffffff85c0, types=0x7fffffff6850, 
    argc=1) at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:270
#66 0x00007ffff370dae2 in QQmlBoundSignalExpression::evaluate (this=0x5555574749c0, a=0x7fffffff85c0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:196
#67 0x00007ffff370dfd2 in QQmlBoundSignal_callback (e=0x555557474b60, a=0x7fffffff85c0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:315
#68 0x00007ffff380caef in QQmlNotifier::emitNotify (endpoint=0x0, a=0x7fffffff85c0)
--Type <RET> for more, q to quit, c to continue without paging--
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:74
#69 0x00007ffff375bdd9 in QQmlData::signalEmitted (object=0x555557474790, index=7, a=0x7fffffff85c0)
    at /home/david/projects/kde6/src/qtdeclarative/src/qml/qml/qqmlengine.cpp:345
#70 0x00007ffff24fe26c in doActivate<false> (sender=0x555557474790, signal_index=7, argv=0x7fffffff85c0)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4112
#71 0x00007ffff24f50c3 in QMetaObject::activate (sender=0x555557474790, 
    m=0x7fffe740c358 <QQuickActionGroup::staticMetaObject>, local_signal_index=4, argv=0x7fffffff85c0)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4282
#72 0x00007fffe7127a5b in QMetaObject::activate<void, QQuickAction*> (sender=0x555557474790, 
    mo=0x7fffe740c358 <QQuickActionGroup::staticMetaObject>, local_signal_index=4, ret=0x0, 
    args=@0x7fffffff8600: 0x555557471a90) at /opt/kde6/include/QtCore/qobjectdefs.h:319
#73 0x00007fffe712570e in QQuickActionGroup::triggered (this=0x555557474790, _t1=0x555557471a90)
    at src/quicktemplates/QuickTemplates2_autogen/include/moc_qquickactiongroup_p.cpp:236
#74 0x00007fffe7125626 in QQuickActionGroupPrivate::actionTriggered (this=0x555557474860)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickactiongroup.cpp:146
#75 0x00007fffe712ad85 in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QQuickActionGroupPrivate::*)()>::call(void (QQuickActionGroupPrivate::*)(), QQuickActionGroupPrivate*, void**)::{lambda()#1}::operator()() const (this=0x7fffffff86c0) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:127
#76 0x00007fffe712ac0d in QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QQuickActionGroupPrivate::*)()>::call(void (QQuickActionGroupPrivate::*)(), QQuickActionGroupPrivate*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QQuickActionGroupPrivate::*)()>::call(void (QQuickActionGroupPrivate::*)(), QQuickActionGroupPrivate*, void**)::{lambda()#1}&&) (args=0x7fffffff8a90, fn=...) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:65
#77 0x00007fffe712ab9f in QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QQuickActionGroupPrivate::*)()>::call(void (QQuickActionGroupPrivate::*)(), QQuickActionGroupPrivate*, void**) (
    f=(void (QQuickActionGroupPrivate::*)(QQuickActionGroupPrivate * const)) 0x7fffe71255e0 <QQuickActionGroupPrivate::actionTriggered()>, o=0x555557474860, arg=0x7fffffff8a90) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:126
#78 0x00007fffe712ab11 in QtPrivate::FunctionPointer<void (QQuickActionGroupPrivate::*)()>::call<QtPrivate::List<>, void>(void (QQuickActionGroupPrivate::*)(), QQuickActionGroupPrivate*, void**) (
    f=(void (QQuickActionGroupPrivate::*)(QQuickActionGroupPrivate * const)) 0x7fffe71255e0 <QQuickActionGroupPrivate::actionTriggered()>, o=0x555557474860, arg=0x7fffffff8a90) at /opt/kde6/include/QtCore/qobjectdefs_impl.h:174
#79 0x00007fffe712aa40 in QtPrivate::QPrivateSlotObject<void (QQuickActionGroupPrivate::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x555557660260, r=0x555557474790, a=0x7fffffff8a90, 
    ret=0x0) at /opt/kde6/include/QtCore/6.10.0/QtCore/private/qobject_p.h:272
#80 0x00007ffff2300262 in QtPrivate::QSlotObjectBase::call (this=0x555557660260, r=0x555557474790, a=0x7fffffff8a90)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#81 0x00007ffff24fead4 in doActivate<false> (sender=0x555557471a90, signal_index=11, argv=0x7fffffff8a90)
    at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4222
#82 0x00007ffff24f50c3 in QMetaObject::activate (sender=0x555557471a90, m=0x7fffe740bf28 <QQuickAction::staticMetaObject>, 
    local_signal_index=8, argv=0x7fffffff8a90) at /home/david/projects/kde6/src/qtbase/src/corelib/kernel/qobject.cpp:4282
#83 0x00007fffe7121dcb in QMetaObject::activate<void, QObject*> (sender=0x555557471a90, 
    mo=0x7fffe740bf28 <QQuickAction::staticMetaObject>, local_signal_index=8, ret=0x0, args=@0x7fffffff8ad0: 0x555559391df0)
    at /opt/kde6/include/QtCore/qobjectdefs.h:319
#84 0x00007fffe712076e in QQuickAction::triggered (this=0x555557471a90, _t1=0x555559391df0)
    at src/quicktemplates/QuickTemplates2_autogen/include/moc_qquickaction_p.cpp:307
#85 0x00007fffe7120703 in QQuickActionPrivate::trigger (this=0x555557471b60, source=0x555559391df0, doToggle=false)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickaction.cpp:531
#86 0x00007fffe7103d4d in QQuickAbstractButtonPrivate::trigger (this=0x555558352e00, doubleClick=false)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickabstractbutton.cpp:383
#87 0x00007fffe7103b32 in QQuickAbstractButtonPrivate::handleRelease (this=0x555558352e00, point=..., timestamp=62772472)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickabstractbutton.cpp:190
#88 0x00007fffe714cdbd in QQuickControl::mouseReleaseEvent (this=0x555559391df0, event=0x7fffffffb6b8)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickcontrol.cpp:2067
#89 0x00007ffff5c903ea in QQuickItemPrivate::deliverPointerEvent (this=0x555558352e00, event=0x7fffffffb6b8)
    at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickitem.cpp:5666
#90 0x00007ffff5c97c25 in QQuickItem::event (this=0x555559391df0, ev=0x7fffffffb6b8)
    at /home/david/projects/kde6/src/qtdeclarative/src/quick/items/qquickitem.cpp:9146
#91 0x00007fffe7106d60 in QQuickAbstractButton::event (this=0x555559391df0, event=0x7fffffffb6b8)
    at /home/david/projects/kde6/src/qtdeclarative/src/quicktemplates/qquickabstractbutton.cpp:1176
#92 0x00007ffff69d0210 in QApplicationPrivate::notify_helper (this=0x5555555c8c70, receiver=0x555559391df0, e=0x7fffffffb6b8)
    at /home/david/projects/kde6/src/qtbase/src/widgets/kernel/qapplication.cpp:3310
#93 0x00007ffff69d40ec in QApplication::notify (this=0x7fffffffdc70, receiver=0x555559391df0, e=0x7fffffffb6b8)
Comment 3 Arjen Hiemstra 2025-06-11 08:47:14 UTC
I do get a similar crash if I first select all in table mode then switch to tree mode. Seems like some kind of stack smashing is going on since the backtrace starts in nowhere.
Comment 4 Arjen Hiemstra 2025-06-11 09:12:38 UTC
Valgrind outputs this:

==612417== Invalid read of size 8
==612417==    at 0x76F08CF: UnknownInlinedFun (qabstractitemmodel_p.h:45)
==612417==    by 0x76F08CF: UnknownInlinedFun (qsortfilterproxymodel.cpp:276)
==612417==    by 0x76F08CF: QSortFilterProxyModel::parent(QModelIndex const&) const (qsortfilterproxymodel.cpp:2145)
==612417==    by 0x5D8FF2E: QModelIndex::parent() const (qabstractitemmodel.h:506)
==612417==    by 0x5D90395: UnknownInlinedFun (qqmlmodelindexvaluetype_p.h:50)
==612417==    by 0x5D90395: QQmlModelIndexValueType::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qqmlmodelindexvaluetype_p.cpp:135)
==612417==    by 0x6EDB930: UnknownInlinedFun (qqmlvaluetypewrapper.cpp:287)
==612417==    by 0x6EDB930: QV4::QQmlValueTypeWrapper::getGadgetProperty(QV4::ExecutionEngine*, QV4::Heap::QQmlValueTypeWrapper*, QMetaType, unsigned short, bool, bool) (qqmlvaluetypewrapper.cpp:406)
==612417==    by 0x6EDC901: QV4::QQmlValueTypeWrapper::virtualResolveLookupGetter(QV4::Object const*, QV4::ExecutionEngine*, QV4::Lookup*) (qqmlvaluetypewrapper.cpp:648)
==612417==    by 0x6D54B8A: QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) (qv4vme_moth.cpp:674)
==612417==    by 0x6D57C13: QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) [clone .part.0] (qv4vme_moth.cpp:487)
==612417==    by 0x6C9FC6F: QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) (qv4function.cpp:52)
==612417==    by 0x6DFC023: QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (qqmljavascriptexpression.cpp:238)
==612417==    by 0x6D88289: QQmlBinding::evaluate(bool*) (qqmlbinding.cpp:195)
==612417==    by 0x6D8DD48: QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (qqmlbinding.cpp:713)
==612417==    by 0x6D8F85C: QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (qqmlbinding.cpp:165)
==612417==  Address 0x34275ac8 is 136 bytes inside a block of size 144 free'd
==612417==    at 0x48738DD: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==612417==    by 0x76ED606: UnknownInlinedFun (qalgorithms.h:28)
==612417==    by 0x76ED606: UnknownInlinedFun (qalgorithms.h:36)
==612417==    by 0x76ED606: QSortFilterProxyModelPrivate::_q_clearMapping() (qsortfilterproxymodel.cpp:469)
==612417==    by 0x76F3E2E: QSortFilterProxyModelPrivate::_q_sourceReset() (qsortfilterproxymodel.cpp:1595)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x832B32E: KSysGuard::ProcessDataModel::setFlatList(bool) (process_data_model.cpp:274)
==612417==    by 0x82F0332: KSysGuard::ProcessDataModel::qt_metacall(QMetaObject::Call, int, void**) (moc_process_data_model.cpp:192)
==612417==    by 0x6D73EE8: UnknownInlinedFun (qqmlpropertydata_p.h:375)
==612417==    by 0x6D73EE8: QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const (qqmlpropertydata_p.h:395)
==612417==  Block was alloc'd at
==612417==    at 0x486FF93: operator new(unsigned long) (vg_replace_malloc.c:487)
==612417==    by 0x76E7564: QSortFilterProxyModelPrivate::create_mapping(QModelIndex const&) const (qsortfilterproxymodel.cpp:487)
==612417==    by 0x76F4D23: QSortFilterProxyModel::hasChildren(QModelIndex const&) const (qsortfilterproxymodel.cpp:2209)
==612417==    by 0x5DA762A: QQmlTreeModelToTableModel::showModelTopLevelItems(bool) (qqmltreemodeltotablemodel.cpp:343)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x76F3E36: QSortFilterProxyModelPrivate::_q_sourceReset() (qsortfilterproxymodel.cpp:1597)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
==612417==    by 0x76ADAA0: UnknownInlinedFun (qobjectdefs.h:306)
==612417==    by 0x76ADAA0: UnknownInlinedFun (moc_qabstractitemmodel.cpp:736)
==612417==    by 0x76ADAA0: QAbstractItemModel::endResetModel() (qabstractitemmodel.cpp:3439)
==612417==    by 0x74B67EE: UnknownInlinedFun (qobjectdefs_impl.h:461)
==612417==    by 0x74B67EE: void doActivate<false>(QObject*, int, void**) (qobject.cpp:4146)
Comment 5 Bug Janitor Service 2025-06-11 10:47:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/461
Comment 6 Arjen Hiemstra 2025-06-11 15:27:55 UTC
Git commit fcd3160a277d32c09a2949c8f920c2007832b339 by Arjen Hiemstra.
Committed on 11/06/2025 at 10:47.
Pushed by ahiemstra into branch 'master'.

Remove modelIndex property from TreeViewDelegate

It's adding a public property that shouldn't be added. It's also storing
a QModelIndex which may go stale and result in crashes if accessed.

M  +2    -23   org.kde.desktop/TreeViewDelegate.qml

https://invent.kde.org/frameworks/qqc2-desktop-style/-/commit/fcd3160a277d32c09a2949c8f920c2007832b339