Bug 462645

Summary: Dragging and dropping image from spectacle into XWayland app with touch screen results in crash
Product: [Applications] Spectacle Reporter: spamohspam
Component: GeneralAssignee: Boudhayan Gupta <me>
Status: RESOLVED DUPLICATE    
Severity: crash CC: asturm, kde, nate, noahadvs
Priority: NOR Keywords: wayland
Version: 22.08.3   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: crash backtrace

Description spamohspam 2022-12-04 18:58:50 UTC
Created attachment 154311 [details]
crash backtrace

SUMMARY [backtrace is uploaded in the attachments, also pasted to https://pastebin.mozilla.org/VLwDpaPO ]

essentially if i take a screenshot in spectacle and then i use the touch screen to try and drag and drop it into an application, the application will receive the file (in this case element running inside Firefox), however i get a notification that spectacle crashed, and if i click on spectacle in the taskbar(?) to bring it back to the front of the screen it just is (not responding) and then crashes.

STEPS TO REPRODUCE
1.  take screenshot (the one it takes when it opens is fine)
2.  have application open to drag file into (such as a chat application or file manager)
3. use the touch screen to drag and drop the image in spectacle into said application
4. it crash.

OBSERVED RESULT
- spectacle hangs and crashes, but the application the image is dragged to does receive the image.

EXPECTED RESULT
- honestly i didn't expect it to let me drag and drop using touch screen, but i dont think it should crash either.


SOFTWARE/OS VERSIONS
Fedora 37 KDE spin
KDE Plasma Version: 5.26.4
Frameworks Version: 5.100.0
Qt Version: 6.0.10-300.fc37.x86_64(64-bit)
Graphics Platform: Wayland

its an hp pavilion 15-eh2xxx, i don't assume specs are relevant but i can provide if needed.
Comment 1 spamohspam 2022-12-04 19:08:17 UTC
i realize now that on the about system there is a copy button and i didnt have to manually type the whole thing 👍
Comment 2 Nate Graham 2022-12-05 19:40:21 UTC
Application: Spectacle (spectacle), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f83ae5a2b0a in QDrag::dragCursor(Qt::DropAction) const () from /lib64/libQt5Gui.so.5
#5  0x00007f83ae5a51ad in QBasicDrag::updateCursor(Qt::DropAction) () from /lib64/libQt5Gui.so.5
#6  0x00007f83ac98f7a4 in QtPrivate::QFunctorSlotObject<QtWaylandClient::QWaylandDataDevice::startDrag(QMimeData*, QFlags<Qt::DropAction>, QtWaylandClient::QWaylandWindow*)::{lambda(bool, Qt::DropAction)#1}, 2, QtPrivate::List<bool, Qt::DropAction>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () from /lib64/libQt5WaylandClient.so.5
#7  0x00007f83ae0dbc26 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#8  0x00007f83ac993a7d in QtWaylandClient::QWaylandDataSource::dndResponseUpdated(bool, Qt::DropAction) () from /lib64/libQt5WaylandClient.so.5
#9  0x00007f83ac992644 in QtWayland::wl_data_source::handle_target(void*, wl_data_source*, char const*) () from /lib64/libQt5WaylandClient.so.5
#10 0x00007f83ad1b46d6 in ffi_call_unix64 () from /lib64/libffi.so.8
#11 0x00007f83ad1b1492 in ffi_call_int.lto_priv () from /lib64/libffi.so.8
#12 0x00007f83aea4ce53 in wl_closure_invoke.constprop () from /lib64/libwayland-client.so.0
#13 0x00007f83aea4d5f3 in dispatch_event.isra () from /lib64/libwayland-client.so.0
#14 0x00007f83aea4d7bc in wl_display_dispatch_queue_pending () from /lib64/libwayland-client.so.0
#15 0x00007f83ac96c695 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /lib64/libQt5WaylandClient.so.5
#16 0x00007f83ae0d2ec4 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#17 0x00007f83aedaed12 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007f83ae0a8278 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#19 0x00007f83ae0ab5e4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#20 0x00007f83ae0f9897 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#21 0x00007f83abe66cbf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#22 0x00007f83abebc598 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#23 0x00007f83abe63f40 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x00007f83ae0f938a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#25 0x00007f83ae0a6cca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#26 0x00007f83ae0aed92 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#27 0x000055c040af4386 in main ()
[Inferior 1 (process 8801) detached]
Comment 3 Nate Graham 2022-12-05 19:41:18 UTC
Can reproduce.
Comment 4 Noah Davis 2023-01-17 03:13:01 UTC
Perhaps a Qt or KWin Wayland bug? The backtraces don't show any lines about Spectacle code.
Comment 5 spamohspam 2023-01-18 00:40:13 UTC
possibly
Comment 6 spamohspam 2023-01-18 00:41:00 UTC
it seems to be touch & drag and drop related which would likely be a kde <-> wayland issue
Comment 7 Andreas Sturmlechner 2023-08-08 21:03:05 UTC
Likely also a duplicate of bug 470925?
Comment 8 Nate Graham 2023-08-09 18:01:57 UTC
Appears to be, yeah.

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