Bug 425793

Summary: Dragging tabs from Firefox over the desktop does not work and can result in a crash (log out of Plasma session)
Product: [Plasma] kwin Reporter: Claudius Ellsel <claudius.ellsel>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: kde, nate, plasma-bugs
Priority: NOR Keywords: wayland
Version: git master   
Target Milestone: ---   
Platform: Manjaro   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=418853
https://bugs.kde.org/show_bug.cgi?id=428977
Latest Commit: Version Fixed In: 5.21
Sentry Crash Report:
Attachments: Backtrace
Backtrace of session compiled from git master

Description Claudius Ellsel 2020-08-25 19:17:38 UTC
SUMMARY
Dragging a tab from Firefox to a different monitor seems to be broken on Wayland.

STEPS TO REPRODUCE
1. Have a dual monitor setup on Wayland
2. Drag a tab to a different screen

OBSERVED RESULT
Screen turns black, tab returns to old Firefox window. It crashed, maybe when I dragged the tab, but waited some time before I released it.

EXPECTED RESULT
Obvious.

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
Kernel Version: 5.8.1-3-MANJARO
OS Type: 64-bit
Processors: 4 × Intel® Xeon® CPU E3-1225 v3 @ 3.20GHz
Memory: 3.8 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics P4600/P4700

ADDITIONAL INFORMATION
Comment 1 David Edmundson 2020-08-30 21:31:22 UTC
X or wayland
Comment 2 Claudius Ellsel 2020-08-30 22:54:43 UTC
Thanks for looking into this. 

The description should contain the required information ;)
Comment 3 Claudius Ellsel 2020-09-08 15:27:36 UTC
Just tested with a non maximized Firefox window. Just drag a tab on the empty space (desktop) and move it there a bit without releasing. It gets laggy and crashes then.
Comment 4 Claudius Ellsel 2020-09-08 15:28:12 UTC
So this might also happen on a single monitor setup.
Comment 5 David Edmundson 2020-09-08 15:44:01 UTC
>So this might also happen on a single monitor setup.

Can't reproduce on a single monitor setup dragging over the background. Which could mean it's fixed. There was a drag and drop fix for xwayland with similar symptoms a while back.

Tested with both firefox on X (in my wayland session) and firefox on wayland.

Without being able to reproduce, with a non-master kwin and no backtrace I'm not sure what else we can practically do. 

If we get a backtrace or some more specific new steps to reproduce or something please do reopen. Plasma 5.20 beta is coming out soon so please do test there then as well.
Comment 6 Claudius Ellsel 2020-09-08 17:01:00 UTC
Thanks for trying to reproduce.

This might indeed have the same cause as the other drag and drop issue you mentioned.

I will test on a compiled session from master and report back.
Comment 7 Christoph Feck 2020-09-08 21:11:19 UTC
Claudius, if you changed the resolution to FIXED intentionally, then also please set the status to RESOLVED, otherwise the Bug Janitor will nag about this every fortnight.
Comment 8 Claudius Ellsel 2020-09-09 12:34:31 UTC
(In reply to Christoph Feck from comment #7)
> Claudius, if you changed the resolution to FIXED intentionally, then also
> please set the status to RESOLVED, otherwise the Bug Janitor will nag about
> this every fortnight.

Sorry. I did not intend to change the bug status and have also been confused before why it had that state. I don't remember changing the status actively, but it seems it was set when I wrote the previous comment.
Comment 9 Claudius Ellsel 2020-09-10 18:22:38 UTC
Sorry, took me some time to get around and compile an up to date session from master to test on.

Unfortunately I could still reproduce this error there.

However, when I tried it there the second time, it did not crash entirely. Firefox did still run, however the panel disappeared and the background turned black. In this state it was possible to drag and drop Firefox tabs without a crash.
Comment 10 Claudius Ellsel 2020-10-01 15:16:27 UTC
After thinking this might be an OOM issue I tested again, since I happened to upgrade my RAM. Before with 4 GB it crashed and also afterwards with 12 GB it crashes.
Comment 11 Claudius Ellsel 2020-10-18 15:42:48 UTC
I also tested this with a single monitor VM with KDE Neon unstable with updated builds from the 17.10.2020. I could easily reproduce it there.
Comment 12 Claudius Ellsel 2020-10-18 15:44:10 UTC
Changing component, since this is unrelated to multi-screen setups, also updating the version where it happens.
Comment 13 Claudius Ellsel 2020-11-09 18:25:10 UTC
Created attachment 133176 [details]
Backtrace

Adding a backtrace here as well, hopefully the way I captured it was correct.
Comment 14 Claudius Ellsel 2020-11-10 19:55:43 UTC
Created attachment 133210 [details]
Backtrace of session compiled from git master

The other backtrace was from a session with Plasma 5.20.2.

I created a new one from a session compiled from git master where the problem also happens.
Comment 15 Bug Janitor Service 2020-11-10 21:59:08 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwayland-server/-/merge_requests/131
Comment 16 Vlad Zahorodnii 2020-11-10 21:59:45 UTC
Is there any chance that you could test it ^^^ ?
Comment 17 Claudius Ellsel 2020-11-10 22:02:36 UTC
Should be possible. I will try tomorrow! Thanks for the fast reaction to the backtrace.
Comment 18 Vlad Zahorodnii 2020-11-11 07:19:52 UTC
Git commit 978ff1aa54e3eabd002ce3fc7a2111ae311a1d38 by Vlad Zahorodnii.
Committed on 10/11/2020 at 21:54.
Pushed by vladz into branch 'master'.

Store drag-and-drop focus resource using QPointer

We need to clean up the target data device if it has been destroyed in
the middle of a drag and drop. Weston does a similar thing.

M  +1    -1    src/server/seat_interface_p.h

https://invent.kde.org/plasma/kwayland-server/commit/978ff1aa54e3eabd002ce3fc7a2111ae311a1d38
Comment 19 Claudius Ellsel 2020-11-11 13:54:07 UTC
Just tested. It now does not crash the session entirely, but only some parts (I guess plasma?). Firefox is still open, but the background turns black and the panel disappears. I will try to generate a new backtrace for that. Shell we track that in a new bug?
Comment 20 Claudius Ellsel 2020-11-11 14:08:04 UTC
I created https://bugs.kde.org/show_bug.cgi?id=428977, I hope you can follow up there :)
Comment 21 Claudius Ellsel 2020-11-14 18:01:21 UTC
I don't know whether this is just a coincidence (tested only once) but on 5.20.3 only plasmashell seems to crash and I am not thrown back to the login screen. The fix however does only seem to be targeted at 5.21 and not be included in 5.20.3.
Comment 22 Claudius Ellsel 2020-11-14 18:15:35 UTC
Tested a second time and still cannot reproduce the complete crash on 5.20.3.