Bug 504911 - Crash trying to drag launcher into popup
Summary: Crash trying to drag launcher into popup
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Quicklaunch widget (other bugs)
Version First Reported In: 6.3.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-28 13:29 UTC by Jared Adams
Modified: 2025-05-28 18:42 UTC (History)
1 user (show)

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


Attachments
Crash data from Dr Konqi (288.16 KB, text/vnd.kde.kcrash-report)
2025-05-28 13:29 UTC, Jared Adams
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jared Adams 2025-05-28 13:29:42 UTC
Created attachment 181825 [details]
Crash data from Dr Konqi

Sometimes trying to drag a launcher in the Quicklaunch widget into the popup area crashes Plasmashell. It has happened twice so far.  Widget is in an autohide top panel.

Operating System: CachyOS Linux 
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.8-2-cachyos (64-bit)
Graphics Platform: Wayland
Comment 1 Nate Graham 2025-05-28 15:48:30 UTC
Thread 1 (Thread 0x78a6613eca40 (LWP 1673)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x000078a6677ab665 in QMimeData::hasImage (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qarraydatapointer.h:452
#8  0x000078a668a4aa1a in ?? () from /usr/lib/libQt6WaylandClient.so.6
#9  0x000078a668a9d8eb in QtWaylandClient::QWaylandDataSource::data_source_send(QString const&, int) () from /usr/lib/libQt6WaylandClient.so.6
#10 0x000078a668a89920 in QtWayland::wl_data_source::handle_send(void*, wl_data_source*, char const*, int) () from /usr/lib/libQt6WaylandClient.so.6
#11 0x000078a667c6973e in ffi_call_unix64 () at src/x86/unix64.S:104
#12 0x000078a667c652e3 in ffi_call_int () at src/x86/ffi64.c:676
#13 0x000078a667c68aae in ffi_call () at src/x86/ffi64.c:713
#14 0x000078a66a5879b0 in wl_closure_invoke () at ../wayland-1.23.1/src/connection.c:1228
#15 0x000078a66a5882a9 in dispatch_event (display=0x56a98a4cb800, queue=0x7ffd3349a4c0) at ../wayland-1.23.1/src/wayland-client.c:1674
#16 0x000078a66a58867b in dispatch_queue () at ../wayland-1.23.1/src/wayland-client.c:1820
#17 wl_display_dispatch_queue_pending (display=0x56a98a4cb800, queue=0x7ffd3349a4c0) at ../wayland-1.23.1/src/wayland-client.c:2062
#18 0x000078a668a4cdb6 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /usr/lib/libQt6WaylandClient.so.6
#19 0x000078a6677b41a7 in QObject::event (this=0x56a9846f1ff0, e=0x78a654004d80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431
#20 0x000078a669affa0b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56a9846f1ff0, e=0x78a654004d80) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3301
#21 0x000078a667763238 in QCoreApplication::notifyInternal2 (receiver=0x56a9846f1ff0, event=event@entry=0x78a654004d80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#22 0x000078a6677635f9 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x78a654004d80) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56a9846e8080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#24 0x000078a6679faab0 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#25 postEventSourceDispatch (s=0x56a9846ef730) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#26 0x000078a666190026 in g_main_dispatch (context=0x78a65c000f00) at ../glib/glib/gmain.c:3398
#27 0x000078a666191478 in g_main_context_dispatch_unlocked (context=0x78a65c000f00) at ../glib/glib/gmain.c:4249
#28 g_main_context_iterate_unlocked (context=context@entry=0x78a65c000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#29 0x000078a6661915b2 in g_main_context_iteration (context=0x78a65c000f00, may_block=1) at ../glib/glib/gmain.c:4379
#30 0x000078a6679f7e2b in QEventDispatcherGlib::processEvents (this=0x56a9846efdf0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#31 0x000078a66776de36 in QEventLoop::processEvents (this=0x56a987feca80, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#32 QEventLoop::exec (this=this@entry=0x56a987feca80, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#33 0x000078a66842380a in QBasicDrag::drag (this=0x56a9846bda30, o=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77
#34 0x000078a668424249 in QDragManager::drag (this=0x56a98959dc60, o=o@entry=0x56a98cab41b0) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdnd.cpp:81
#35 0x000078a6684245d0 in QDrag::exec (this=0x56a98cab41b0, supportedActions=..., defaultDropAction=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdrag.cpp:248
#36 0x000078a5ffa98db6 in DeclarativeDragArea::startDrag () at /usr/src/debug/kdeclarative/kdeclarative-6.14.0/src/qmlcontrols/draganddrop/DeclarativeDragArea.cpp:360
#37 0x000078a5ffa99e6a in operator() () at /usr/src/debug/kdeclarative/kdeclarative-6.14.0/src/qmlcontrols/draganddrop/DeclarativeDragArea.cpp:260
#38 operator() () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#39 call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, DeclarativeDragArea::mouseMoveEvent(QMouseEvent*)::<lambda()> >::call(DeclarativeDragArea::mouseMoveEvent(QMouseEvent*)::<lambda()>&, void**)::<lambda()> > () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#40 call () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#41 call<QtPrivate::List<>, void> () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#42 impl () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#43 0x000078a6677c6319 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#44 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4138
#45 0x000078a6693cc736 in QQuickItemGrabResult::ready (this=0x56a98c49d150) at /usr/src/debug/qt6-declarative/build/src/quick/Quick_autogen/include/moc_qquickitemgrabresult.cpp:167
#46 QQuickItemGrabResult::event (this=0x56a98c49d150, e=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemgrabresult.cpp:224
#47 0x000078a669affa0b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56a98c49d150, e=0x78a530c097e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3301
#48 0x000078a667763238 in QCoreApplication::notifyInternal2 (receiver=0x56a98c49d150, event=event@entry=0x78a530c097e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#49 0x000078a6677635f9 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x78a530c097e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#50 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56a9846e8080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#51 0x000078a6679faab0 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#52 postEventSourceDispatch (s=0x56a9846ef730) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#53 0x000078a666190026 in g_main_dispatch (context=0x78a65c000f00) at ../glib/glib/gmain.c:3398
#54 0x000078a666191478 in g_main_context_dispatch_unlocked (context=0x78a65c000f00) at ../glib/glib/gmain.c:4249
#55 g_main_context_iterate_unlocked (context=context@entry=0x78a65c000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#56 0x000078a6661915b2 in g_main_context_iteration (context=0x78a65c000f00, may_block=1) at ../glib/glib/gmain.c:4379
#57 0x000078a6679f7e2b in QEventDispatcherGlib::processEvents (this=0x56a9846efdf0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#58 0x000078a66776de36 in QEventLoop::processEvents (this=0x7ffd3349b7a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#59 QEventLoop::exec (this=0x7ffd3349b7a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#60 0x000078a6677662cf in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77
#61 0x000056a971cc3211 in main () at /usr/src/debug/plasma-workspace/plasma-workspace-6.3.5/shell/main.cpp:191
Comment 2 Nate Graham 2025-05-28 15:49:25 UTC
Thanks for the bug report. Where did you try to drag the launcher from? Can you provide specific and detailed steps to reproduce that someone else can follow to trigger the issue?
Comment 3 Jared Adams 2025-05-28 16:07:48 UTC
Sorry, forgot about that. I was dragging it from the panel area to the popup, though I've just now recreated it going the opposite direction. So, have multiple launchers in the quick launch, popup enabled, on a panel, and drag launchers between Quicklaunch's panel area and popup.

This time had a slightly different backtrace:
#6  0x000079291bfab662 in QMimeData::hasImage (this=0x56666d905300) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qarraydatapointer.h:452
#7  0x000079291d24aa1a in ?? () from /usr/lib/libQt6WaylandClient.so.6
#8  0x000079291d29d8eb in QtWaylandClient::QWaylandDataSource::data_source_send(QString const&, int) () from /usr/lib/libQt6WaylandClient.so.6
#9  0x000079291d289920 in QtWayland::wl_data_source::handle_send(void*, wl_data_source*, char const*, int) () from /usr/lib/libQt6WaylandClient.so.6
#10 0x000079291c49073e in ffi_call_unix64 () at src/x86/unix64.S:104
#11 0x000079291c48c2e3 in ffi_call_int () at src/x86/ffi64.c:676
#12 0x000079291c48faae in ffi_call () at src/x86/ffi64.c:713
#13 0x000079291ee5c9b0 in wl_closure_invoke () at ../wayland-1.23.1/src/connection.c:1228
#14 0x000079291ee5d2a9 in dispatch_event (display=0x56666d905300, queue=0x7fffd0857d80) at ../wayland-1.23.1/src/wayland-client.c:1674
#15 0x000079291ee5d67b in dispatch_queue () at ../wayland-1.23.1/src/wayland-client.c:1820
#16 wl_display_dispatch_queue_pending (display=0x56666d905300, queue=0x7fffd0857d80) at ../wayland-1.23.1/src/wayland-client.c:2062
#17 0x000079291d24cdb6 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /usr/lib/libQt6WaylandClient.so.6
#18 0x000079291bfb41a7 in QObject::event (this=0x56666a654ff0, e=0x7929080199b0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431
#19 0x000079291e4ffa0b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56666a654ff0, e=0x7929080199b0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3301
#20 0x000079291bf63238 in QCoreApplication::notifyInternal2 (receiver=0x56666a654ff0, event=event@entry=0x7929080199b0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#21 0x000079291bf635f9 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7929080199b0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56666a64b080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#23 0x000079291c1faab0 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#24 postEventSourceDispatch (s=0x56666a652730) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#25 0x000079291aa49026 in g_main_dispatch (context=0x792910000f00) at ../glib/glib/gmain.c:3398
#26 0x000079291aa4a478 in g_main_context_dispatch_unlocked (context=0x792910000f00) at ../glib/glib/gmain.c:4249
#27 g_main_context_iterate_unlocked (context=context@entry=0x792910000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#28 0x000079291aa4a5b2 in g_main_context_iteration (context=0x792910000f00, may_block=1) at ../glib/glib/gmain.c:4379
#29 0x000079291c1f7e2b in QEventDispatcherGlib::processEvents (this=0x56666a652df0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#30 0x000079291bf6de36 in QEventLoop::processEvents (this=0x56666c422180, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#31 QEventLoop::exec (this=this@entry=0x56666c422180, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#32 0x000079291cc2380a in QBasicDrag::drag (this=0x56666a6d8c80, o=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77
#33 0x000079291cc24249 in QDragManager::drag (this=0x56666fdaa500, o=o@entry=0x566670da7e40) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdnd.cpp:81
#34 0x000079291cc245d0 in QDrag::exec (this=0x566670da7e40, supportedActions=..., defaultDropAction=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdrag.cpp:248
#35 0x00007928c428edb6 in DeclarativeDragArea::startDrag () at /usr/src/debug/kdeclarative/kdeclarative-6.14.0/src/qmlcontrols/draganddrop/DeclarativeDragArea.cpp:360
#36 0x00007928c428fe6a in operator() () at /usr/src/debug/kdeclarative/kdeclarative-6.14.0/src/qmlcontrols/draganddrop/DeclarativeDragArea.cpp:260
#37 operator() () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#38 call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, DeclarativeDragArea::mouseMoveEvent(QMouseEvent*)::<lambda()> >::call(DeclarativeDragArea::mouseMoveEvent(QMouseEvent*)::<lambda()>&, void**)::<lambda()> > () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#39 call () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#40 call<QtPrivate::List<>, void> () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#41 impl () at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#42 0x000079291bfc6319 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#43 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4138
#44 0x000079291dbcc736 in QQuickItemGrabResult::ready (this=0x56666daf6930) at /usr/src/debug/qt6-declarative/build/src/quick/Quick_autogen/include/moc_qquickitemgrabresult.cpp:167
#45 QQuickItemGrabResult::event (this=0x56666daf6930, e=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitemgrabresult.cpp:224
#46 0x000079291e4ffa0b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56666daf6930, e=0x79278839e670) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3301
#47 0x000079291bf63238 in QCoreApplication::notifyInternal2 (receiver=0x56666daf6930, event=event@entry=0x79278839e670) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#48 0x000079291bf635f9 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x79278839e670) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#49 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x56666a64b080) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879
#50 0x000079291c1faab0 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733
#51 postEventSourceDispatch (s=0x56666a652730) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#52 0x000079291aa49026 in g_main_dispatch (context=0x792910000f00) at ../glib/glib/gmain.c:3398
#53 0x000079291aa4a478 in g_main_context_dispatch_unlocked (context=0x792910000f00) at ../glib/glib/gmain.c:4249
#54 g_main_context_iterate_unlocked (context=context@entry=0x792910000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#55 0x000079291aa4a5b2 in g_main_context_iteration (context=0x792910000f00, may_block=1) at ../glib/glib/gmain.c:4379
#56 0x000079291c1f7e2b in QEventDispatcherGlib::processEvents (this=0x56666a652df0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#57 0x000079291bf6de36 in QEventLoop::processEvents (this=0x7fffd0859080, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#58 QEventLoop::exec (this=0x7fffd0859080, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#59 0x000079291bf662cf in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77
#60 0x000056666447b211 in main () at /usr/src/debug/plasma-workspace/plasma-workspace-6.3.5/shell/main.cpp:191
Comment 4 Nate Graham 2025-05-28 18:42:41 UTC
Aha, then this should be fixed in the final Plasma 6.4 release! We fixed several widget drag-and-drop issues recently, and I can't reproduce these anymore.