Bug 509638

Summary: System Monitor crashes in QQuickPopup::overlayEvent when removing separator
Product: [Applications] plasma-systemmonitor Reporter: Shadow <bankruby>
Component: generalAssignee: KSysGuard Developers <ksysguard-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: ahiemstra, bankruby, nate, plasma-bugs-null
Priority: NOR Keywords: qt-crash
Version First Reported In: 6.4.5   
Target Milestone: ---   
Platform: EndeavourOS   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: The gdb log

Description Shadow 2025-09-18 13:42:24 UTC
SUMMARY
When in editing a page, deleting any Separator element will cause a crash only if interact with other elements in the program.

STEPS TO REPRODUCE
1. Click the Separator.
2. Click the three vertical dots and click Remove.
3. Click to any other elements.

OBSERVED RESULT
A small blank box appear around the Separator, which do nothing unless being interacted.

EXPECTED RESULT
The System Monitor crash and closed.
If run in terminal it will produce a segmentation fault error:
`Segmentation fault         (core dumped) plasma-systemmonitor`

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.2

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2025-09-18 20:18:37 UTC
If something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the `coredumpctl` command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?

Thanks!
Comment 2 Shadow 2025-09-19 01:27:22 UTC
Created attachment 185065 [details]
The gdb log
Comment 3 Shadow 2025-09-19 01:31:07 UTC
(In reply to Nate Graham from comment #1)
> If something crashed, we need a backtrace of it so we can figure out what's
> going on. Can you please attach a backtrace of the crash using the
> `coredumpctl` command-line program, as detailed in
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?
> 
> Thanks!

Hi, I have attached the backtrace log to the bug report. It should appear in the attachment.
Comment 4 Shadow 2025-09-21 03:22:56 UTC
I wondered if I have to change the status or it's from the devs decision? I didn't know much of these, sorry.
Comment 5 Nate Graham 2025-09-23 15:15:53 UTC
Pasting the backtrace inline for searchability:


Thread 1 "plasma-systemmo" received signal SIGSEGV, Segmentation fault.
0x00007fffeb109a97 in QQuickPopup::overlayEvent (this=<optimized out>, item=0x555555cb70b0, event=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickpopup.cpp:3210
3210	    const QList<QQuickItem *> paintOrderChildItems = QQuickOverlayPrivate::get(overlay)->paintOrderChildItems();
#0  0x00007fffeb109a97 in QQuickPopup::overlayEvent (this=<optimized out>, item=0x555555cb70b0, event=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickpopup.cpp:3210
#1  0x00007fffeb0fd642 in QQuickOverlayPrivate::handlePress (this=0x555555caf150, source=0x555555cb70b0, event=0x7fffffffd6e0, target=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickoverlay.cpp:130
#2  0x00007fffeb9ad613 in QQuickItemPrivate::deliverPointerEvent (this=<optimized out>, event=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:5665
#3  0x00007fffeb9b6b43 in QQuickItem::event (this=0x555555cb70b0, ev=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:9149
#4  0x00007ffff7701dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555cb70b0, e=0x7fffffffd6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#5  0x00007ffff5d68678 in QCoreApplication::notifyInternal2 (receiver=0x555555cb70b0, event=0x7fffffffd6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#6  0x00007ffff5d686bd in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#7  0x00007fffebbadbf0 in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=this@entry=0x5555558aaed0, item=0x555555cb70b0, isGrabber=isGrabber@entry=false, pointerEvent=pointerEvent@entry=0x7fffffffd6e0, handlersOnly=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2450
#8  0x00007fffebbaf8bb in QQuickDeliveryAgentPrivate::deliverPressOrReleaseEvent (this=this@entry=0x5555558aaed0, event=event@entry=0x7fffffffd6e0, handlersOnly=handlersOnly@entry=false) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2390
#9  0x00007fffebbb0354 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=0x5555558aaed0, event=event@entry=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2037
#10 0x00007fffebbb0ad4 in QQuickDeliveryAgentPrivate::handleMouseEvent (this=<optimized out>, event=event@entry=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1768
#11 0x00007fffeb0fded4 in QQuickOverlay::eventFilter (this=<optimized out>, object=0x55555588b5a0, event=0x7fffffffd6e0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickoverlay.cpp:544
#12 0x00007ffff5d67afc in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55555588b5a0, event=event@entry=0x7fffffffd6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1243
#13 0x00007ffff7701dc0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555588b5a0, e=0x7fffffffd6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#14 0x00007ffff5d68678 in QCoreApplication::notifyInternal2 (receiver=0x55555588b5a0, event=0x7fffffffd6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#15 0x00007ffff5d686cd in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
#16 0x00007ffff6da13cd in QGuiApplicationPrivate::processMouseEvent (e=0x7fffe4002ce0) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:2476
#17 0x00007ffff6e249b4 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1117
#18 0x00007ffff6e13d77 in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1086
#19 0x00007ffff5dc1a74 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1432
#20 0x00007ffff7701dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555555b0080, e=0x7fffe4004840) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#21 0x00007ffff5d68678 in QCoreApplication::notifyInternal2 (receiver=0x5555555b0080, event=event@entry=0x7fffe4004840) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#22 0x00007ffff5d68a5b in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fffe4004840) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5555555a7330) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891
#24 0x00007ffff60437f8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1744
#25 postEventSourceDispatch (s=0x5555555abab0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#26 0x00007ffff51fa880 in g_main_dispatch (context=0x7fffec000f70) at ../glib/glib/gmain.c:3398
#27 0x00007ffff51fbcd7 in g_main_context_dispatch_unlocked (context=0x7fffec000f70) at ../glib/glib/gmain.c:4249
#28 g_main_context_iterate_unlocked (context=context@entry=0x7fffec000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#29 0x00007ffff51fbee5 in g_main_context_iteration (context=0x7fffec000f70, may_block=1) at ../glib/glib/gmain.c:4379
#30 0x00007ffff603ffe2 in QEventDispatcherGlib::processEvents (this=0x5555555ab4f0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#31 0x00007ffff5d74ca6 in QEventLoop::processEvents (this=0x7fffffffde20, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#32 QEventLoop::exec (this=0x7fffffffde20, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#33 0x00007ffff5d6cd21 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
#34 0x00007ffff76fc5ea in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2567
#35 0x000055555555b38d in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-systemmonitor/plasma-systemmonitor-6.4.5/src/main.cpp:112
[Inferior 1 (process 849032) killed]
Comment 6 Nate Graham 2025-09-23 15:19:02 UTC
Thanks. I can reproduce this issue 100% of the time.
Comment 7 Arjen Hiemstra 2025-09-24 13:35:31 UTC
This looks to be an upstream bug that I can no longer reproduce with Qt 6.10. I can't easily pinpoint which commit fixed it though.
Comment 8 Nate Graham 2025-09-24 13:36:51 UTC
Ok, let's re-open if there are any more reports of it with Qt 6.10.