Bug 504322 - plashmashell crashing in LegendModel::getValueForItem() when emptying notifications application-wise
Summary: plashmashell crashing in LegendModel::getValueForItem() when emptying notific...
Status: RESOLVED DUPLICATE of bug 503099
Alias: None
Product: frameworks-kquickcharts
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 6.14.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Arjen Hiemstra
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-16 09:45 UTC by slartibart70
Modified: 2025-06-10 14:35 UTC (History)
6 users (show)

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


Attachments
dump (3.56 KB, text/plain)
2025-05-16 09:46 UTC, slartibart70
Details
bt-full with symbols (7.62 KB, text/plain)
2025-05-22 11:18 UTC, slartibart70
Details

Note You need to log in before you can comment on or make changes to this bug.
Description slartibart70 2025-05-16 09:45:45 UTC
I have lots of notifications in the systray 'notifications' icon
Those are grouped by application: kde-connect, brave, ferdium etc.

For each group, i click on the 'x' icon to delete group-wise

When deleting a big list  - after the last group is deleted, plasmashell crashes
(a single group-entry, even with more messages, does not trigger the crash)

coredumpctl/gdb is not that informative, though, see attachment
Comment 1 slartibart70 2025-05-16 09:46:57 UTC
Created attachment 181371 [details]
dump
Comment 2 slartibart70 2025-05-16 09:48:31 UTC
Operating System: Fedora Linux 42
KDE Plasma Version: 6.3.80
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.0
Kernel Version: 6.14.6-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Comment 3 Nate Graham 2025-05-16 13:45:51 UTC
Thank you for the bug report! Unfortunately the backtrace is incomplete and missing debug symbols for most of the relevant-looking lines.

Could you please install debug symbols and attach a new symbolicated backtrace generated by using `coredumpctl gdb` in a terminal window? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl for details about how to do this.
Comment 4 slartibart70 2025-05-20 09:20:03 UTC
I did plenty of deletes recently, and the error does not occur again.
Closing this ticket
(and yes, coredump did not load all debug-libs - my fault. Will be improved next time :-D)

Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.80
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.0
Kernel Version: 6.14.6-300.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Comment 5 slartibart70 2025-05-22 11:17:56 UTC
sorry, i need to reopen, it happened again
Comment 6 slartibart70 2025-05-22 11:18:24 UTC
Created attachment 181648 [details]
bt-full with symbols
Comment 7 Nate Graham 2025-05-22 15:26:56 UTC
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007fe24de811e3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
No locals.
#2  0x00007fe24de27afe in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007fe251575ef1 in KCrash::defaultCrashHandler(int) () from /lib64/libKF6Crash.so.6
No symbol table info available.
#4  <signal handler called>
No locals.
#5  0x00007fe24d54b985 in QJSEngine::handle (this=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qml/jsapi/qjsengine.h:298
No locals.
#6  QQmlListModel::engine (this=this@entry=0x55fce8014130) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qmlmodels/qqmllistmodel.cpp:2123
No locals.
#7  0x00007fe24d54cb06 in QQmlListModel::data (this=0x55fce8014130, index=<optimized out>, role=0) at /usr/src/debug/qt6-qtdeclarative-6.9.0-2.fc42.x86_64/src/qmlmodels/qqmllistmodel.cpp:2314
        v = {d = {static MaxInternalSize = 24, data = {data = '\000' <repeats 23 times>, shared = 0x0, _forAlignment = 0}, is_shared = 0, is_null = 1, packedType = 0}}
#8  0x00007fe24d54d084 in QQmlListModel::data (this=<optimized out>, index=..., role=<optimized out>) at /usr/include/qt6/QtCore/qabstractitemmodel.h:130
No locals.
#9  0x00007fe1925a2bed in ModelSource::item(int) const () from /lib64/libQuickCharts.so.1
No symbol table info available.
#10 0x00007fe19259f7c5 in ChartDataSource::first() const () from /lib64/libQuickCharts.so.1
No symbol table info available.
#11 0x00007fe19255e0bb in LegendModel::getValueForItem(int) () from /lib64/libQuickChartsControls.so.1
No symbol table info available.
#12 0x00007fe19255ec01 in LegendModel::update() () from /lib64/libQuickChartsControls.so.1
No symbol table info available.
#13 0x00007fe24e550fec in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431
        mce = <optimized out>
        connections = <optimized out>
        sender = {previous = 0x0, receiver = 0x55fce7e26ed0, sender = 0x0, signal = -1}
#14 0x00007fe25083d7af in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55fce7e26ed0, e=0x55fce75033e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3301
        consumed = false
        filtered = false
        threadData = <optimized out>
#15 0x00007fe24e4f5fa8 in QCoreApplication::notifyInternal2 (receiver=0x55fce7e26ed0, event=0x55fce75033e0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
        d = <optimized out>
        threadData = 0x55fce270ffc0
        selfRequired = <optimized out>
        result = false
        cbdata = {0x55fce7e26ed0, 0x55fce75033e0, 0x7fff79f1b28f}
        scopeLevelCounter = {threadData = 0x55fce270ffc0}
#16 0x00007fe24e4f620d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
No locals.
#17 0x00007fe24e4f9cd6 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55fce270ffc0) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879
        e = 0x55fce75033e0
        pe = <optimized out>
        r = <optimized out>
        relocker = <optimized out>
        event_deleter = <optimized out>
        locker = {_M_device = 0x55fce2710008, _M_owns = false}
        startOffset = 0
        i = <optimized out>
        cleanup = <optimized out>
#18 0x00007fe24e7ffd2f in postEventSourceDispatch (s=0x55fce2718000) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:246
        source = 0x55fce2718000
#19 0x00007fe24d29a040 in g_main_dispatch (context=0x7fe234000f00) at ../glib/gmain.c:3398
        dispatch = 0x7fe24e7ffd10 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 17402927416011
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x55fce2718000
        current = 0x55fce30602b0
        i = 0
        __func__ = <optimized out>
#20 g_main_context_dispatch_unlocked (context=0x7fe234000f00) at ../glib/gmain.c:4249
No locals.
#21 0x00007fe24d2a3128 in g_main_context_iterate_unlocked (context=context@entry=0x7fe234000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4314
        max_priority = 0
        timeout_usec = 0
        some_ready = 1
        nfds = 17
        allocated_nfds = <optimized out>
        fds = <optimized out>
        begin_time_nsec = <optimized out>
#22 0x00007fe24d2a32d3 in g_main_context_iteration (context=0x7fe234000f00, may_block=1) at ../glib/gmain.c:4379
        retval = <optimized out>
#23 0x00007fe24e7ff56d in QEventDispatcherGlib::processEvents (this=0x55fce2718c80, flags=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
        d = 0x55fce272e1c0
        canWait = <optimized out>
        savedFlags = {<QtPrivate::QFlagsStorageHelper<QEventLoop::ProcessEventsFlag, 4>> = {<QtPrivate::QFlagsStorage<QEventLoop::ProcessEventsFlag>> = {static IntegerSize = 4, i = 0}, <No data fields>}, <No data fields>}
        result = <optimized out>
#24 0x00007fe24e503783 in QEventLoop::exec (this=this@entry=0x7fff79f1b5f0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/global/qflags.h:77
        d = 0x55fce3062e30
        threadData = <optimized out>
        locker = {m_mutex = 0x55fce27100f8, m_isLocked = false}
        ref = <optimized out>
        app = <optimized out>
#25 0x00007fe24e4ff229 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.0-2.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
        threadData = 0x55fce270ffc0
        eventLoop = {<QObject> = {_vptr.QObject = 0x7fe24ea90cf0 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fe24e90d210 <QObject::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t>+272>, data = 0x7fe24e90d100 <QObject::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t>>, static_metacall = 0x7fe24e55cfe0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fe24ea92ae0 <QObject::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN7QObjectE_t>>, extradata = 0x0}}, d_ptr = {d = 0x55fce3062e30}}, static staticMetaObject = {d = {superdata = {direct = 0x55fca3d61440 <QObject::staticMetaObject>}, stringdata = 0x7fe24e90a8ac <QEventLoop::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t>+236>, data = 0x7fe24e90a7c0 <QEventLoop::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t>>, static_metacall = 0x7fe24e503360 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fe24ea90da0 <QEventLoop::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN10QEventLoopE_t>>, extradata = 0x0}}}
        returnCode = <optimized out>
#26 0x000055fca3c8daa4 in main ()
No symbol table info available.
Warning: 'set logging off', an alias for the command 'set logging enabled', is deprecated.
Use 'set logging enabled off'.
Comment 8 Nate Graham 2025-05-22 15:28:54 UTC
Looks like somehow it's failing in KQuickCharts?
Comment 9 Nate Graham 2025-05-24 16:01:09 UTC
I just experienced this in the following way on current git master:

1. Start a large file copy
2. Click "Details" on the notification
3. Send that notification to the System Tray
4. Click on the system tray

The backtrace is identical to slartibart's.

It did not reproduce when I did the same thing a second time, though. :(
Comment 10 Bug Janitor Service 2025-05-26 11:10:42 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kquickcharts/-/merge_requests/97
Comment 11 Nate Graham 2025-06-10 14:35:23 UTC

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