| Summary: | plasmashell crashes in QtWayland::wl_data_source::handle_send() when dragging something from anywhere in Kickoff except Favorites to desktop | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Jan Rathmann <jan.rathmann> |
| Component: | Application Launcher (Kickoff) widget | Assignee: | David Edmundson <kde> |
| Status: | RESOLVED UPSTREAM | ||
| Severity: | crash | CC: | ahiemstra, bugseforuns, mikel5764, nate, noahadvs, plasma-bugs-null, raihan4everyone, slawek |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | 5.23.3 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Kubuntu | ||
| OS: | Linux | ||
| URL: | https://codereview.qt-project.org/c/qt/qtwayland/+/382017 | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Crash report (without debug symbols) | ||
Can reproduce. Here's a symbolicated backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = {<No data fields>}}
[KCrash Handler]
#5 0x00007f115af2e5dd in QMimeData::hasImage() const () at /lib64/libQt5Core.so.5
#6 0x00007f11592768e0 in QWaylandMimeHelper::getByteArray(QMimeData*, QString const&) () at /lib64/libQt5WaylandClient.so.5
#7 0x00007f115927dbcc in QtWaylandClient::QWaylandDataSource::data_source_send(QString const&, int) () at /lib64/libQt5WaylandClient.so.5
#8 0x00007f1159286d0b in QtWayland::wl_data_source::handle_send(void*, wl_data_source*, char const*, int) () at /lib64/libQt5WaylandClient.so.5
#9 0x00007f115a621c04 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#10 0x00007f115a621107 in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:525
#11 0x00007f115d70fd10 in wl_closure_invoke.constprop () at /lib64/libwayland-client.so.0
#12 0x00007f115d71042b in dispatch_event.isra () at /lib64/libwayland-client.so.0
#13 0x00007f115d71061c in wl_display_dispatch_queue_pending () at /lib64/libwayland-client.so.0
#14 0x00007f11592624df in QtWaylandClient::QWaylandDisplay::flushRequests() () at /lib64/libQt5WaylandClient.so.5
#15 0x00007f115af3e410 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#16 0x00007f115af5bc2b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#17 0x00007f115af091c2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#18 0x00007f115b392787 in QBasicDrag::drag(QDrag*) () at /lib64/libQt5Gui.so.5
#19 0x00007f115b390ccf in QDragManager::drag(QDrag*) () at /lib64/libQt5Gui.so.5
#20 0x00007f115b39103f in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () at /lib64/libQt5Gui.so.5
#21 0x00007f115cf78250 in QQuickDragAttachedPrivate::startDrag(QFlags<Qt::DropAction>) () at /lib64/libQt5Quick.so.5
#22 0x00007f115c966971 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const () at /lib64/libQt5Qml.so.5
#23 0x00007f115c9bb197 in GenericBinding<1>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) () at /lib64/libQt5Qml.so.5
#24 0x00007f115c9c37ee in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () at /lib64/libQt5Qml.so.5
#25 0x00007f115c9c467c in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () at /lib64/libQt5Qml.so.5
#26 0x00007f115c9a1765 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#27 0x00007f115af3e252 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#28 0x00007f115cf46735 in QQuickMouseArea::mouseMoveEvent(QMouseEvent*) () at /lib64/libQt5Quick.so.5
#29 0x00007f115cee1de3 in QQuickItem::event(QEvent*) () at /lib64/libQt5Quick.so.5
#30 0x00007f115bd9c443 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#31 0x00007f115af0a7b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#32 0x00007f115cef0055 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () at /lib64/libQt5Quick.so.5
#33 0x00007f115cef09e3 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () at /lib64/libQt5Quick.so.5
#34 0x00007f115b364425 in QWindow::event(QEvent*) () at /lib64/libQt5Gui.so.5
#35 0x00007f115bd9c443 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#36 0x00007f115af0a7b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#37 0x00007f115b358b98 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib64/libQt5Gui.so.5
#38 0x00007f115b338c9c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#39 0x00007f115929a644 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#40 0x00007f11594cb4cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#41 0x00007f115951f4f8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#42 0x00007f11594c8c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#43 0x00007f115af5bb98 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#44 0x00007f115af091c2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#45 0x00007f115af11704 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#46 0x000000000042076b in main(int, char**) (argc=<optimized out>, argv=0x7fffe9e395a0) at /home/nate/kde/src/plasma-workspace/shell/main.cpp:238
[Inferior 1 (process 884272) detached]
This is a bug in Qt that should be fixed with https://codereview.qt-project.org/c/qt/qtwayland/+/382017 . Cool, thanks! In the future feel free to mark such bugs as RESOLVED UPSTREAM with a link to the fix in the URL field. *** Bug 448919 has been marked as a duplicate of this bug. *** Arjen, do you think that would be safe to backport into the KDE patch collection? *** Bug 450215 has been marked as a duplicate of this bug. *** *** Bug 455412 has been marked as a duplicate of this bug. *** |
Created attachment 143702 [details] Crash report (without debug symbols) STEPS TO REPRODUCE 1. Open Kickoff menu 2. Drag a launcher (or a file or folder icon) from any other category than favourites to the desktop (or a window). 3. Release mouse button. plasmashell will crash and restart. Interestingly, draging a launcher from the favourite category works as expected. I see this only in the Wayland session. I'll attach a backtrace, but probably useless since there are AFAIK no packages with debug symbols avaiable inside the Kubuntu-Backports-PPA. Installation: Kubuntu 21.10 with Backports-PPA Plasma 5.23.3 Frameworks 5.88 Kind regards, Jan