| Summary: | Plasma crashes in QWaylandMimeHelper::getByteArray() after dragging a file in the Folder View widget and then dropping it onto parent folder | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Patrick Silva <bugseforuns> |
| Component: | Desktop icons & Folder View widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | crash | CC: | hein, kdedev, nate |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | 6.4.4 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=499654 | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
screen recording
long backtrace |
||
Created attachment 183914 [details]
long backtrace
Searchable backtrace Thread 1 (Thread 0x7f0883255a40 (LWP 11559)): #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f0888898a13 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89 #2 0x00007f088883e410 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007f088bbc8e97 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.17.0/src/kcrash.cpp:605 #4 0x00007f088883e540 in <signal handler called> () at /usr/lib/libc.so.6 #5 QMimeData::hasImage (this=this@entry=0x5632e36a5b90) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qarraydatapointer.h:452 #6 0x00007f088a16c191 in QWaylandMimeHelper::getByteArray (mimeData=0x5632e36a5b90, mimeType=...) at /usr/src/debug/qt6-wayland/qtwayland/src/shared/qwaylandmimehelper.cpp:18 #7 0x00007f088a1c69d7 in QtWaylandClient::QWaylandDataSource::data_source_send (this=<optimized out>, mime_type=<optimized out>, fd=57) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddatasource.cpp:46 #8 0x00007f088a1b2716 in QtWayland::wl_data_source::handle_send (data=0x5632e7262550, object=<optimized out>, mime_type=0x7f087801a57c "text/uri-list", fd=57) at /usr/src/debug/qt6-wayland/build/src/client/qwayland-wayland.cpp:756 #9 0x00007f088a7a9ac6 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #10 0x00007f088a7a676b in ffi_call_int (cif=cif@entry=0x7ffca00a6480, fn=fn@entry=0x7f088a1b26b0 <QtWayland::wl_data_source::handle_send(void*, wl_data_source*, char const*, int)>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffca00a6550, closure=closure@entry=0x0) at ../src/x86/ffi64.c:676 #11 0x00007f088a7a906e in ffi_call (cif=cif@entry=0x7ffca00a6480, fn=0x7f088a1b26b0 <QtWayland::wl_data_source::handle_send(void*, wl_data_source*, char const*, int)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffca00a6550) at ../src/x86/ffi64.c:713 #12 0x00007f088bc4148d in wl_closure_invoke (closure=closure@entry=0x7f087801a4a0, target=<optimized out>, target@entry=0x5632e69fd100, opcode=opcode@entry=1, data=<optimized out>, flags=1) at ../wayland-1.24.0/src/connection.c:1241 #13 0x00007f088bc422e9 in dispatch_event (display=display@entry=0x5632e0877e10, queue=queue@entry=0x5632e0877f08) at ../wayland-1.24.0/src/wayland-client.c:1707 #14 0x00007f088bc426f3 in dispatch_queue (display=0x5632e0877e10, queue=0x5632e0877f08) at ../wayland-1.24.0/src/wayland-client.c:1853 #15 wl_display_dispatch_queue_pending (display=0x5632e0877e10, queue=0x5632e0877f08) at ../wayland-1.24.0/src/wayland-client.c:2190 #16 0x00007f088a16e266 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:228 #17 0x00007f08891c0e34 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431 #18 0x00007f088b301c70 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5632e0877be0, e=0x7f087401fac0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303 #19 0x00007f0889168118 in QCoreApplication::notifyInternal2 (receiver=0x5632e0877be0, event=event@entry=0x7f087401fac0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106 #20 0x00007f08891684fb in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7f087401fac0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546 #21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5632e086cec0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879 #22 0x00007f088943fcf8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733 #23 postEventSourceDispatch (s=0x5632e08752e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #24 0x00007f0887b7587d in g_main_dispatch (context=0x7f087c000f70) at ../glib/glib/gmain.c:3398 #25 0x00007f0887b76cd7 in g_main_context_dispatch_unlocked (context=0x7f087c000f70) at ../glib/glib/gmain.c:4249 #26 g_main_context_iterate_unlocked (context=context@entry=0x7f087c000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314 #27 0x00007f0887b76ee5 in g_main_context_iteration (context=0x7f087c000f70, may_block=1) at ../glib/glib/gmain.c:4379 #28 0x00007f088943c5e2 in QEventDispatcherGlib::processEvents (this=0x5632e0875a90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #29 0x00007f08891744b6 in QEventLoop::processEvents (this=0x5632e3c38df0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #30 QEventLoop::exec (this=this@entry=0x5632e3c38df0, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #31 0x00007f0889e0f73b in QBasicDrag::drag (this=0x5632e096abf0, o=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qsimpledrag.cpp:176 #32 0x00007f0889e10990 in QDragManager::drag (this=0x7f087c064190, o=o@entry=0x5632e340ab40) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdnd.cpp:81 #33 0x00007f0889e10b8c in QDrag::exec (this=<optimized out>, supportedActions=..., defaultDropAction=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdrag.cpp:248 #34 QDrag::exec (this=this@entry=0x5632e340ab40, supportedActions=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qdrag.cpp:203 #35 0x00007f08300cdfcc in FolderModel::dragSelectedInternal (this=0x5632ea7b72a0, x=<optimized out>, y=<optimized out>) at /usr/src/debug/plasma-desktop/plasma-desktop-6.4.4/containments/desktop/plugins/folder/foldermodel.cpp:1153 #36 0x00007f08891c0e34 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1431 #37 0x00007f088b301c70 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5632ea7b72a0, e=0x7f08740163c0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303 #38 0x00007f0889168118 in QCoreApplication::notifyInternal2 (receiver=0x5632ea7b72a0, event=event@entry=0x7f08740163c0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106 #39 0x00007f08891684fb in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7f08740163c0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546 #40 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5632e086cec0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1879 #41 0x00007f088943fcf8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1733 #42 postEventSourceDispatch (s=0x5632e08752e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #43 0x00007f0887b7587d in g_main_dispatch (context=0x7f087c000f70) at ../glib/glib/gmain.c:3398 #44 0x00007f0887b76cd7 in g_main_context_dispatch_unlocked (context=0x7f087c000f70) at ../glib/glib/gmain.c:4249 #45 g_main_context_iterate_unlocked (context=context@entry=0x7f087c000f70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314 #46 0x00007f0887b76ee5 in g_main_context_iteration (context=0x7f087c000f70, may_block=1) at ../glib/glib/gmain.c:4379 #47 0x00007f088943c5e2 in QEventDispatcherGlib::processEvents (this=0x5632e0875a90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399 #48 0x00007f08891744b6 in QEventLoop::processEvents (this=0x7ffca00a7250, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #49 QEventLoop::exec (this=0x7ffca00a7250, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #50 0x00007f088916c7c1 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449 #51 0x00007f088b2fc66a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2570 #52 0x00005632a3f113f1 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.4.4/shell/main.cpp:188 Interesting. I can't reproduce the issue when I mimic what you're doing in the screencast with a text file or a PNG image. From the backtrace, it looks like it's related to the file type somehow. Steps from the video 1. Have a folder widget on the desktop for the Desktop Folder 2. Have multiple files and folders on the desktop, at least one folder that's a link to another folder, at least one folder that has a subfolder with files 3. Open one non-linked folder that has a subfolder, open that subfolder 4. Drag a file from that subfolder into its parent folder within the widget ui plasmashell crashes I'm not able to reproduce this crash in git-master using these steps KF 6.18.0 Qt 6.9.1 This backtrace looks very similar, but not identical to bug 499654, which starts and ends in the same code paths |
Created attachment 183913 [details] screen recording SUMMARY Plasma crashes consistently on my system after the steps seen in the attached screen recording. EXPECTED RESULT no crash SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.4.4 KDE Frameworks Version: 6.17.0 Qt Version: 6.9.1 Graphics Platform: Wayland