Closed Bug 1622107 Opened 5 years ago Closed 4 years ago

[wayland] Drag and Drop occasionally stops working

Categories

(Core :: Widget: Gtk, defect, P2)

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: rmader, Assigned: stransky, NeedInfo)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Even after bug 1604048 and on latest Mutter/GTK I still occasionally see the DnD break (although much rarer).

Blocks: wayland, 1604048

Correction: even after the first part of bug 1604048 landed, which fixed some cases of breakage. That bug is more of a meta bug, until everything got resolved.

Do you have steps to reproduce?

Flags: needinfo?(robert.mader)
Priority: -- → P5

No, not yet. Just wanted to already have a bug for this so we don't get a couple of them. Further more it could as well be a gnome shell bug - if we fix something in this area soon, I wanted to have something to refer to.

Flags: needinfo?(robert.mader)

This can be caused by replacing Firefox custom wl_data_device_listener by the default gtk one. But I can't reproduce it...

I finally found a reliable reproducer (at least for my system):

  • DnD an image
  • cancel the DnD by dropping it over a not-accepting area. This will trigger the "fly back" animation.
  • DnD the same image again before the animation has finished

This should make it much easier to debug - still busy with other things atm, but will look into it soon.

I can confirm that this is still a problem in 81.0.1 and mutter 3.38.1

I'm able to reproduce it almost the same way, by just dropping any file once in the toolbar (not tabbar).
Plus as a workaround doing it again seems to fix the problem temporaly for some reason

I have been seeing this often and can confirm that dragging a file from my file manager onto the toolbar will trigger this, and doing it again will undo. I'm also on GNOME Shell.

However I don't think I frequently drop files onto my toolbar so it seems that this isn't the only trigger. I'll try to see if dropping the file always undoes the state, or only if that is how it was initially triggered.

Summary: [wayland] DnD occasionally stops working → [wayland] Drag and Drop occasionally stops working

I also see this happening.

Status: UNCONFIRMED → NEW
Component: Graphics → Widget: Gtk
Ever confirmed: true
OS: Unspecified → Linux
Version: unspecified → Trunk

Hm, turns out trying this in a debug build quickly gives some hints: after a few fast DnDs, the logs show:

[Child 363323, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /home/robert/firefox/gecko-dev/dom/base/nsContentAreaDragDrop.cpp:307

After that any DnD refuse to work. Will dig a bit into this.

No longer blocks: 1604048
Blocks: 1637238

I think it's because the D&D was not finished and we're still in the middle of D&D so a new one is not performed.
I'd like to get log of it when Bug 1635757 lands - it has extra logging code for D&D.
So when Bug 1635757 lands, can you please run Firefox as:

MOZ_LOG="WidgetDrag:5" MOZ_ENABLE_WAYLAND=1 ./firefox

try to reproduce it and attach the log here?

There should be something like:

[Parent 36185: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 36185: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 36185: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
....
[Parent 36185: Main Thread]: D/WidgetDrag invisibleSourceDragEnd
[Parent 36185: Main Thread]: D/WidgetDrag SourceEndDragSession
[Parent 36185: Main Thread]: D/WidgetDrag nsDragService::EndDragSession

when 'DragEnd' log is missing we're still in the middle of D&D and a new session can't be opened.

Flags: needinfo?(robert.mader)
Flags: needinfo?(jan.steffens)
Assignee: nobody → stransky
Priority: P5 → P2

I find this much easier to reproduce in a debug build - here is a log where I dnd'ed until it locked up:

[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target _NETSCAPE_URL
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-data
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-desc
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-custom-clipdata
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlcontext
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlinfo
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/html
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/unicode
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain;charset=utf-8
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fd149243c40
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 261310: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 0
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 261310: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 0
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 261310: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 0
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragFailed 5
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 5
[Parent 261310: Main Thread]: D/WidgetDrag guess drag end point 342 722
[Parent 261310: Main Thread]: D/WidgetDrag drop is user chancelled
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragEnd
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 0
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 261310: Main Thread]: D/WidgetDrag     Failed - GetMostRecentDestWindow()!
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService: dispatch drag leave (0x7fd17a0a9c00)
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target _NETSCAPE_URL
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-data
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-desc
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-custom-clipdata
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlcontext
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlinfo
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/html
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/unicode
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain;charset=utf-8
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fd1492933d0
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 261310: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 0
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 261310: Main Thread]: D/WidgetDrag     Failed - GetMozContainerWidget()!
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fd149179880
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragFailed 5
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 5
[Parent 261310: Main Thread]: D/WidgetDrag guess drag end point 309 706
[Parent 261310: Main Thread]: D/WidgetDrag drop is user chancelled
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragEnd
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 0
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 261310: Main Thread]: D/WidgetDrag     Failed - GetMostRecentDestWindow()!
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService: dispatch drag leave (0x7fd17a0a9c00)
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Child 261489, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /home/robert/firefox/gecko-dev/dom/base/nsContentAreaDragDrop.cpp:307
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target _NETSCAPE_URL
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-data
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/x-moz-url-desc
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-custom-clipdata
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlcontext
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/_moz_htmlinfo
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/html
[Parent 261310: Main Thread]: D/WidgetDrag adding target text/unicode
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain;charset=utf-8
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target text/plain
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-nativeimage
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise
[Parent 261310: Main Thread]: D/WidgetDrag automatically adding target XdndDirectSave0
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise-url
[Parent 261310: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise-dest-filename
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261434, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261434, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261434, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261434, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261489, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
[Child 261489, Main Thread] WARNING: NS_ENSURE_TRUE(info) failed: file /home/robert/firefox/gecko-dev/extensions/permissions/PermissionDelegateHandler.cpp:348
Flags: needinfo?(robert.mader)

This looks significant:
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fd16d453260
[Parent 261310: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fd17a0a9c00
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 261310: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragFailed 5
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 5
[Parent 261310: Main Thread]: D/WidgetDrag guess drag end point 309 706
[Parent 261310: Main Thread]: D/WidgetDrag drop is user chancelled
[Parent 261310: Main Thread]: D/WidgetDrag invisibleSourceDragEnd
[Parent 261310: Main Thread]: D/WidgetDrag SourceEndDragSession result 0

Looks like we mix together Gtk D&D and our Wayland D&D handler or we start new D&D before the recent one quits.

I also got it to break pretty quickly, making a new profile and repeatedly starting to drag a tab.

[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::nsDragService
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 90218: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 90218: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 90218: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fed74650330
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_drop GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragDropHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 90218: Main Thread]: D/WidgetDrag     Failed - GetMozContainerWidget()!
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 90218: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 90218: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 90218: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fed746daba0
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_drop GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragDropHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 90218: Main Thread]: D/WidgetDrag     Failed - GetMozContainerWidget()!
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 90218: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 90218: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 90218: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fed74761a10
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_drop GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragDropHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 90218: Main Thread]: D/WidgetDrag     Failed - GetMozContainerWidget()!
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 90218: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 90218: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 90218: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::AddDragAndDropDataOffer 0x7fed826f42e0
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_enter for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_motion for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragMotionHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::SetCanDrop 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::ReplyToDragMotion 1
[Parent 90218: Main Thread]: D/WidgetDrag WaylandDataOffer::SetDragStatus aPreferredAction 4
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_drop GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragDropHandler nsWindow 0x7fed89249400
[Parent 90218: Main Thread]: D/WidgetDrag WindowDragLeaveHandler()
[Parent 90218: Main Thread]: D/WidgetDrag     Failed - GetMozContainerWidget()!
[Parent 90218: Main Thread]: D/WidgetDrag nsWindow data_device_leave for GtkWidget 0x7fed8924ae60
[Parent 90218: Main Thread]: D/WidgetDrag nsRetrievalContextWayland::ClearDragAndDropDataOffer()
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 90218: Main Thread]: D/WidgetDrag adding target application/x-moz-tabbrowser-tab
[Parent 90218: Main Thread]: D/WidgetDrag adding target text/x-moz-text-internal
[Parent 90218: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 90218: Main Thread]: D/WidgetDrag nsDragService::StartDragSession
Flags: needinfo?(jan.steffens)

Repeatedly making extremely short drags (just enough pixels to start it, like dragging a tab or an image onto itself) seems to be more likely to break it.

Here's one where the very first drag of the session (dragging an image) was broken:

[Parent 93902: Main Thread]: D/WidgetDrag nsDragService::nsDragService
[Parent 93902: Main Thread]: D/WidgetDrag nsDragService::InvokeDragSession
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/x-moz-url
[Parent 93902: Main Thread]: D/WidgetDrag automatically adding target _NETSCAPE_URL
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/x-moz-url-data
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/x-moz-url-desc
[Parent 93902: Main Thread]: D/WidgetDrag adding target application/x-moz-custom-clipdata
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/_moz_htmlcontext
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/_moz_htmlinfo
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/html
[Parent 93902: Main Thread]: D/WidgetDrag adding target text/unicode
[Parent 93902: Main Thread]: D/WidgetDrag automatically adding target text/plain;charset=utf-8
[Parent 93902: Main Thread]: D/WidgetDrag automatically adding target text/plain
[Parent 93902: Main Thread]: D/WidgetDrag adding target application/x-moz-nativeimage
[Parent 93902: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise
[Parent 93902: Main Thread]: D/WidgetDrag automatically adding target XdndDirectSave0
[Parent 93902: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise-url
[Parent 93902: Main Thread]: D/WidgetDrag adding target application/x-moz-file-promise-dest-filename
[Parent 93902: Main Thread]: D/WidgetDrag invisibleSourceDragBegin
[Parent 93902: Main Thread]: D/WidgetDrag nsDragService::StartDragSession

(After several unsuccessful drag attempts, I pressed Ctrl+Shift+Del here to open a dialog)

[Parent 93902: Main Thread]: D/WidgetDrag nsDragService::EndDragSession 1

There's the related Wayland log:

[2859517.606]  -> wl_compositor@4.create_surface(new id wl_surface@82)
[2859517.632]  -> wl_data_device_manager@12.create_data_source(new id wl_data_source@83)
[2859517.638]  -> wl_data_source@83.offer("text/_moz_htmlcontext")
[2859517.643]  -> wl_data_source@83.offer("text/_moz_htmlinfo")
[2859517.647]  -> wl_data_source@83.offer("text/html")
[2859517.652]  -> wl_data_source@83.offer("text/unicode")
[2859517.656]  -> wl_data_source@83.offer("text/plain;charset=utf-8")
[2859517.661]  -> wl_data_source@83.offer("text/plain")
[2859517.669]  -> wl_data_source@83.set_actions(3)
[2859517.674]  -> wl_data_device@22.start_drag(wl_data_source@83, wl_surface@46, wl_surface@82, 12232)
[2859517.690]  -> wl_pointer@11.set_cursor(12230, wl_surface@23, 10, 11)
[2859517.699]  -> wl_surface@23.attach(wl_buffer@75, 0, 0)
[2859517.707]  -> wl_surface@23.set_buffer_scale(2)
[2859517.711]  -> wl_surface@23.damage(0, 0, 24, 24)
[2859517.720]  -> wl_surface@23.commit()
[2859522.059]  -> wl_compositor@4.create_surface(new id wl_surface@55)
[2859522.316]  -> wl_surface@82.set_buffer_scale(1)
[2859522.531]  -> wl_surface@55.destroy()
[2859523.053]  -> wl_data_source@83.offer("text/_moz_htmlcontext")
[2859523.063]  -> wl_data_source@83.offer("text/_moz_htmlinfo")
[2859523.070]  -> wl_data_source@83.offer("text/html")
[2859523.076]  -> wl_data_source@83.offer("text/unicode")
[2859523.083]  -> wl_data_source@83.offer("text/plain;charset=utf-8")
[2859523.089]  -> wl_data_source@83.offer("text/plain")
[2859523.096]  -> wl_data_source@83.offer("DELETE")
[2859524.433]  -> wl_surface@82.set_buffer_scale(1)
[2859524.501]  -> wl_shm@5.create_pool(new id wl_shm_pool@92, fd 130, 655424)
[2859524.515]  -> wl_shm_pool@92.create_buffer(new id wl_buffer@88, 0, 931, 176, 3724, 0)
[2859524.803]  -> wl_surface@82.attach(wl_buffer@88, -681, -54)
[2859524.813]  -> wl_surface@82.set_buffer_scale(1)
[2859524.818]  -> wl_surface@82.damage(0, 0, 931, 176)
[2859524.827]  -> wl_surface@82.set_input_region(nil)
[2859524.840]  -> wl_surface@82.frame(new id wl_callback@80)
[2859524.846]  -> wl_surface@82.commit()
[2859528.943] wl_display@1.delete_id(55)
[2859531.041] wl_display@1.delete_id(93)
[2859531.052] wl_callback@93.done(6059233)
[2859531.076]  -> wl_surface@50.set_buffer_scale(2)
[2859531.088]  -> wl_surface@50.frame(new id wl_callback@93)
[2859531.113]  -> wl_surface@50.commit()
[2859539.003] wl_pointer@11.motion(6059234, 513.234375, 422.972656)
[2859539.050] wl_pointer@11.frame()
[2859547.064] wl_display@1.delete_id(93)
[2859547.075] wl_callback@93.done(6059249)
[2859547.085]  -> wl_surface@50.set_buffer_scale(2)
[2859547.092]  -> wl_surface@50.frame(new id wl_callback@93)
[2859547.099]  -> wl_surface@50.commit()
[2859564.326] wl_display@1.delete_id(93)
[2859564.346] wl_callback@93.done(6059266)
[2859564.361]  -> wl_surface@50.set_buffer_scale(2)
[2859564.372]  -> wl_surface@50.frame(new id wl_callback@93)
[2859564.381]  -> wl_surface@50.commit()
[2859580.602] wl_display@1.delete_id(93)
[2859580.614] wl_callback@93.done(6059283)
[2859580.622]  -> wl_surface@50.set_buffer_scale(2)
[2859580.630]  -> wl_surface@50.frame(new id wl_callback@93)
[2859580.637]  -> wl_surface@50.commit()
[2859596.877] wl_display@1.delete_id(93)
[2859596.898] wl_callback@93.done(6059299)
[2859596.913]  -> wl_surface@50.set_buffer_scale(2)
[2859596.923]  -> wl_surface@50.frame(new id wl_callback@93)
[2859596.933]  -> wl_surface@50.commit()
[2859614.196] wl_display@1.delete_id(93)
[2859614.221] wl_callback@93.done(6059316)
[2859614.236]  -> wl_surface@50.set_buffer_scale(2)
[2859614.247]  -> wl_surface@50.frame(new id wl_callback@93)
[2859614.257]  -> wl_surface@50.commit()
[2859630.219] wl_display@1.delete_id(93)
[2859630.240] wl_callback@93.done(6059332)
[2859630.255]  -> wl_surface@50.set_buffer_scale(2)
[2859630.266]  -> wl_surface@50.frame(new id wl_callback@93)
[2859630.276]  -> wl_surface@50.commit()
[2859639.944]  -> wl_surface@50.set_buffer_scale(2)
[2859639.978]  -> wl_surface@50.set_buffer_scale(2)
[2859639.989]  -> wl_surface@50.frame(new id wl_callback@55)
[2859640.001]  -> wl_surface@50.commit()
[2859646.742]  -> wl_surface@50.set_buffer_scale(2)
[2859646.780]  -> wl_surface@50.damage_buffer(353, 762, 931, 132)
[2859646.800]  -> wl_surface@50.damage_buffer(353, 894, 927, 22)
[2859646.818]  -> wl_surface@50.damage_buffer(353, 916, 712, 22)
[2859646.839]  -> wl_surface@50.frame(new id wl_callback@91)
[2859646.851]  -> wl_surface@50.attach(wl_buffer@77, 0, 0)
[2859646.866]  -> wl_surface@50.commit()
[2859646.951]  -> wl_display@1.sync(new id wl_callback@94)
[2859647.221] wl_display@1.delete_id(94)
[2859647.267] wl_buffer@77.release()
[2859647.281] wl_callback@94.done(12232)

so it looks like the D&D is not performed but it's cancelled. I'm unable to decrypt the Wayland log, Jonas, any idea what can be wrong here and why the D&D is chancelled?

Thanks.

Flags: needinfo?(jadahl)

Until the mutter issue get fixed (or it's recognized as Firefox bug) we may need to provide a workaround for it.

This is a workaround for https://gitlab.gnome.org/GNOME/mutter/-/issues/1658

Wayland compositor sometimes fails to send wl_data_source::cancelled() so we don't get info that the D&D is finished
and it's still marked as active internally which preverts Firefox to do any further D&D operation.

In the patch we detect such scenario and reset internal D&D state.

As Bug 1635757 was fixed in Firefox 87 I'd like to backport this one there too. We should have working D&D under Wayland in Firefox 87 then.

Flags: needinfo?(stransky)
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/4eee84427d5f [Wayland] Reset Drag and Drop operation when compositor fails to cancel it, r=jhorak
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/9aae1163d53c [Wayland] Reset Drag and Drop operation when compositor fails to cancel it, r=jhorak
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: