Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland - resizing with Super+RMB causes the window to disappear #148507

Closed
MKuranowski opened this issue May 1, 2022 · 21 comments
Closed

Wayland - resizing with Super+RMB causes the window to disappear #148507

MKuranowski opened this issue May 1, 2022 · 21 comments
Assignees

Comments

@MKuranowski
Copy link

Does this issue occur when all extensions are disabled?: Yes/No

  • VS Code Version:
    1.67.0-insider
    ed2619e11b68bec43b788486230b0c2afeb4672d
    x64
    
  • OS Version: Debian Testing with Gnome 42 (gnome-shell/mutter 42.0-4)

Steps to Reproduce:

  1. Launch VS Code with --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland OR --enable-features=UseOzonePlatform --ozone-platform=wayland; enabling the decorations doesn't matter
  2. Resize the window with Super + Right Mouse Button
  3. The window disappears, without actually crashing the app
@sigmakey
Copy link

sigmakey commented May 3, 2022

For me this occurs when resizing the window normally by dragging on the window edges using the left mouse button. I'm using Arch Linux, Gnome 42, code-insiders, with the same flags as above, and the Nvidia proprietary driver (510.68.02) if that matters.

@oranmehavi
Copy link

oranmehavi commented May 5, 2022

Same issue as well when resizing normally.

I am using Fedora 36 beta, Gnome 42, GTX 1070Ti with 510.68.02

@myownfriend
Copy link

myownfriend commented May 7, 2022

I am using Fedora 36 beta, Gnome 42, GTX 1070Ti with 510.68.02

I have this same setup accept resizing the window or moving it to another screen causes the application to cease responding.

@kmatasfp
Copy link

kmatasfp commented May 12, 2022

same issue here on Fedora 36, Gnome 42.1, Nvidia RTX 3080, 510.68.02

Version: 1.67.1
Commit: da15b6fd3ef856477bf6f4fb29ba1b7af717770d
Date: 2022-05-06T12:39:22.915Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Linux x64 5.17.6-300.fc36.x86_64

@Mentalist
Copy link

Mentalist commented May 16, 2022

This issue is quite the annoyance; it's nearly impossible to reliably resize (no matter which method) the window without it spontaneously disappearing. The process stays alive.

Version: 1.68.0-insider
Commit: c23f0305dbf82b2319b198f4dbf3c5d5bc522f15
Date: 2022-05-16T05:18:29.189Z
Electron: 17.4.3
-&-
Version: 1.67.1
Commit: da15b6fd3ef856477bf6f4fb29ba1b7af717770d
Date: 2022-05-06T12:39:22.915Z
Electron: 17.4.1
---
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Linux x64 5.17.7-arch1-1
WM: wayfire
Graphics: NVIDIA 515.43.04

Launch args:

  • --enable-features=UseOzonePlatform
  • --ozone-platform=wayland

Log at the moment of window disappearance:

[ 270450.175] wl_display@1.delete_id(8)
[ 270450.195] wp_presentation_feedback@8.sync_output(wl_output@27)
[ 270450.201] wp_presentation_feedback@8.presented(0, 39287, 426246000, 16666666, 0, 2355718, 7)
[ 270450.318] wl_display@1.error(xdg_wm_base@13, 4, "wrong configure serial: 4887")
[73634:0516/142125.951141:WARNING:wayland_event_watcher.cc(31)] libwayland: xdg_wm_base@13: error 4: wrong configure serial: 4887

[73634:0516/142125.951215:ERROR:wayland_event_watcher.cc(292)] Fatal Wayland protocol error 4 on interface xdg_wm_base (object 13). Shutting down..
[0516/142125.961380:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[0516/142125.961972:ERROR:elf_dynamic_array_reader.h(64)] tag not found

@talonrenaud
Copy link

talonrenaud commented May 18, 2022

Same issue. Ubuntu 22.04, RTX 3800 Ti, Gnone 42.1.
Running edge with Wayland using tags:
--enable-features=UseOzonePlatform --ozone-platform=wayland

Version: 1.67.2
Commit: c3511e6
Date: 2022-05-17T18:23:40.286Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Linux x64 5.15.0-30-generic

@oranmehavi
Copy link

Is anyone here (from the people who already reported) also has amd/intel gpu and managed to reproduce the issue there? Because right now it seems to only affect nvidia.

@oscarkey
Copy link

I have both a workstation and a laptop. The problem occurs on the workstation with the error in the comment above, but I have not been able to reproduce it on the laptop.

Workstation: AMD RX550 + Nvidia 3090
I run Sway with sway --unsupported-gpu. My monitor is plugged into the amd card, and I use the nvidia card only for cuda. However, if I run lsof /dev/nvidia0 I can see that Sway has the nvidia card open, so perhaps this somehow triggers the bug.

Laptop: Intel integrated graphics

Both have kernel 5.17.7-arch1-1, Sway 1.7, and vscode 1.67.1

@edrex
Copy link

edrex commented May 19, 2022

I am seeing a similar "disappearing native wayland window on resize" issue under Sway (not gnome)

  • Intel i915
  • NixOS unstable
Version: 1.67.1
Commit: da15b6fd3ef856477bf6f4fb29ba1b7af717770d
Date: 2022-05-06T12:39:22.915Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Linux x64 5.15.37

Resizing in pane mode with the mouse triggers disappearing window, as do other ops that cause a window resize. It is not deterministic and sometimes resize succeeds.

There is no relevant output in the code --ozone-platform=wayland log, even with WAYLAND_DEBUG=1 (unlike @Mentalist's report above. Maybe because I'm not testing with insiders?). Sway just logs:

 err: wayland.c:1646: failed to flush wayland socket: Connection reset by peer
info: main.c:670: goodbye

@Mentalist
Copy link

There is no relevant output in the code --ozone-platform=wayland log, even with WAYLAND_DEBUG=1 (unlike @Mentalist's report above. Maybe because I'm not testing with insiders?). Sway just logs:

To get extensive output I used WAYLAND_DEBUG=1 code --enable-features=UseOzonePlatform --ozone-platform=wayland --log=TRACE --verbose --disable-extensions, also works with code-insiders.

@edrex
Copy link

edrex commented May 19, 2022

Thanks!

code output after the input event that caused crash:

log
[2553083.825] wl_display@1.delete_id(66)
[2553083.909] wl_display@1.delete_id(74)
[2553083.941] wl_callback@66.done(18426061)
[2553083.997]  -> wl_surface@34.frame(new id wl_callback@66)
[2553084.044]  -> wp_presentation@19.feedback(wl_surface@34, new id wp_presentation_feedback@131)
[2553084.098]  -> wl_surface@34.attach(wl_buffer@104, 0, 0)
[2553084.161]  -> wl_surface@34.set_buffer_scale(1)
[2553084.189]  -> wp_viewport@35.set_source(-1.00000000, -1.00000000, -1.00000000, -1.00000000)
[2553084.268]  -> wp_viewport@35.set_destination(1596, 856)
[2553084.335]  -> wl_surface@34.damage_buffer(0, 0, 3192, 1712)
[2553084.418]  -> wl_surface@34.commit()
[2553084.948] wl_callback@74.done(18426061)
[2553085.021]  -> wl_surface@48.frame(new id wl_callback@74)
[2553085.068]  -> wp_presentation@19.feedback(wl_surface@48, new id wp_presentation_feedback@99)
[2553085.133]  -> wl_surface@48.attach(wl_buffer@95, 0, 0)
[2553085.199]  -> wl_surface@48.set_buffer_scale(1)
[2553085.231]  -> wp_viewport@49.set_source(-1.00000000, -1.00000000
, -1.00000000, -1.00000000)
[2553085.314]  -> wp_viewport@49.set_destination(1596, 856)
[2553085.366]  -> wl_surface@48.damage_buffer(0, 0, 3192, 1712)
[2553085.478]  -> wl_surface@48.commit()
[2553086.457] xdg_toplevel@40.configure(529, 877, array[16])
[2553086.580] xdg_surface@39.configure(15879)
[2553091.090] xdg_toplevel@52.configure(530, 877, array[16])
[2553091.154] xdg_surface@51.configure(15880)
[2553119.328]  -> wl_buffer@95.destroy(
)
[2553119.663]  -> wl_buffer@70.destroy(
)
[2553119.789]  -> wl_buffer@128.destroy(
)
[2553121.013]  -> wl_shm@4.create_pool(
new id wl_shm_pool@
98
,
fd 97
,
7436960
)
[2553121.576]  -> wl_shm_pool@98.create_buffer(
new id wl_buffer@
42
,
0
,
1060
,
1754
,
4240
,
0
)
[2553122.723]  -> wl_shm_pool@98.destroy(
)
[2553135.677] discarded [unknown]@95.[event 0](0 fd, 8 byte)
[2553135.898] wl_display@1.delete_id(
80
)
[2553136.033] wl_display@1.delete_id(
44
)
[2553136.136] wl_buffer@104.release(
)
[2553136.205] wp_presentation_feedback@80.discarded(
)
[2553136.330] wp_presentation_feedback@44.discarded(
)
[2553137.562]  -> wl_buffer@167.destroy(
)
[2553138.637]  -> wl_buffer@104.destroy(
)
[2553139.514]  -> wl_buffer@85.destroy(
)
[2553141.895]  -> wl_shm@4.create_pool(
new id wl_shm_pool@
44
,
fd 97
,
8419200
)
[2553142.362]  -> wl_shm_pool@44.create_buffer(
new id wl_buffer@
80
,
0
,
1200
,
1754
,
4800
,
0
)
[2553142.983]  -> wl_shm_pool@44.destroy(
)
[2553161.558] wl_display@1.delete_id(66)
[2553161.586] wl_display@1.delete_id(74)
[2553161.592] wl_display@1.delete_id(95)
[2553161.599] wl_display@1.delete_id(70)
[2553161.607] wl_display@1.delete_id(128
)
[2553161.612] wl_display@1.delete_id(98)
[2553161.619] wl_callback@66.done(18426112)
[2553161.630]  -> wl_surface@34.attach(nil, 0, 0)
[2553161.646]  -> wl_surface@34.set_buffer_scale(1)
[2553161.654]  -> wp_viewport@35.set_source(-1.00000000, -1.00000000, -1.00000000, -1.00000000)
[2553161.671]  -> wp_viewport@35.set_destination(1596, 856)
[2553161.684]  -> wl_surface@34.commit()
[2553161.692] wl_callback@74.done(18426112)
[2553161.700]  -> wl_surface@48.attach(nil, 0, 0)
[2553161.713]  -> wl_surface@48.set_buffer_scale(1)
[2553161.719]  -> wp_viewport@49.set_source(-1.00000000, -1.00000000, -1.00000000, -1.00000000)
[2553161.733]  -> wp_viewport@49.set_destination(1596, 856)
[2553161.741]  -> wl_surface@48.commit()
[2553176.448] wl_display@1.delete_id(167)
[2553176.475] wl_display@1.delete_id(104)
[2553176.480] wl_display@1.delete_id(85)
[2553176.489] wl_display@1.delete_id(44)
[2553176.495] wl_display@1.delete_id(
131)
[2553176.501] wl_display@1.delete_id(99)
[2553176.508] wp_presentation_feedback@131.discarded()
[2553176.550] wp_presentation_feedback@99.discarded()
[72166:0519/150706.457715:INFO:CONSOLE(594)] "%cTRACE color: #888 Layout#layout, height: 852, width: 530", source: vscode-file://vscode-app/nix/store/lkya0jc5wswdcimx1517csif27v6wkfg-vscode-1.67.1/lib/vscode/resources/app/out/vs/workbench/workbench.desktop.main.js (594)
[72166:0519/150706.475331:INFO:CONSOLE(594)] "%cTRACE color: #888 Layout#layout, height: 852, width: 600", source: vscode-file://vscode-app/nix/store/lkya0jc5wswdcimx1517csif27v6wkfg-vscode-1.67.1/lib/vscode/resources/app/out/vs/workbench/workbench.desktop.main.js (594)
[2553213.561]  -> wl_shm@4.create_pool(new id wl_shm_pool@44, fd 99, 7436960)
[2553213.593]  -> wl_shm_pool@44.create_buffer(new id wl_buffer@85, 0, 1060, 1754, 4240,
0)
[2553213.619]  -> wl_shm_pool@44.destroy()
[2553243.827]  -> wl_shm@4.create_pool(new id wl_shm_pool@104, fd 100, 8419200)
[2553243.851]  -> wl_shm_pool@104.create_buffer(new id wl_buffer@167, 0, 1200, 1754, 4800,
0)
[2553243.875]  -> wl_shm_pool@104.destroy()
[2553268.539]  -> wl_shm@4.create_pool(new id wl_shm_pool@74, fd 102, 7436960)
[2553268.564]  -> wl_shm_pool@74.create_buffer(new id wl_buffer@66, 0, 1060, 1754, 4240
, 0)
[2553268.588]  -> wl_shm_pool@74.destroy()
[2553278.455]  -> wl_shm@4.create_pool(new id wl_shm_pool@98, fd 103, 8419200)
[2553278.480]  -> wl_shm_pool@98.create_buffer(new id wl_buffer@128, 0, 1200, 1754, 4800
, 0)
[2553278.505]  -> wl_shm_pool@98.destroy()
[72166:0519/150706.569387:INFO:CONSOLE(18)] "%c[IPC Library: Pty Host] %c%cTRACE color: blue color:  color: #888 IPty#resize 39 43", source: vscode-file://vscode-app/nix/store/lkya0jc5wswdcimx1517csif27v6wkfg-vscode-1.67.1/lib/vscode/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js (18)
[main 2022-05-19T22:07:07.399Z] [Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (/home/edrex/.config/Code/User/globalStorage/storage.json)
[main 2022-05-19T22:07:07.399Z] [Disk FileSystemProvider]: createResourceLock() - new resource lock created (/home/edrex/.config/Code/User/globalStorage/storage.json)
[main 2022-05-19T22:07:07.400Z] [Disk FileSystemProvider]: open() - storing lock for handle 103 (/home/edrex/.config/Code/User/globalStorage/storage.json)
[main 2022-05-19T22:07:07.404Z] [Disk FileSystemProvider]: close() - resource lock removed from handle-lock map 103
[main 2022-05-19T22:07:07.404Z] [Disk FileSystemProvider]: close() - disposing lock for handle 103
[main 2022-05-19T22:07:07.404Z] [Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (/home/edrex/.config/Code/User/globalStorage/storage.json)
[main 2022-05-19T22:07:07.404Z] [Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (/home/edrex/.config/Code/User/globalStorage/storage.json)
[main 2022-05-19T22:07:07.404Z] [Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (/home/edrex/.config/Code/User/globalStorage/storage.json)

@RyanGibb
Copy link

Using

codium --ozone-platform=wayland

Instead of

codium --enable-features=UseOzonePlatform --ozone-platform=wayland

Fixed this for me. No idea why.

@edrex
Copy link

edrex commented May 25, 2022

@RyanGibb I think this is a red herring. I see frequent crashes when switching windows, with or without --enable-features=UseOzonePlatform (which is ignored as of chrome 93/electron 14, since ozone is now required on Linux, see https://www.reddit.com/r/swaywm/comments/nswd6w/ozonex11_is_now_the_default_in_chrome_unstable/)

@RyanGibb
Copy link

@edrex Yep, it looks like you're right. Instability has returned. Apologies for the misinformation.

@hilaolu
Copy link

hilaolu commented May 26, 2022

Same problem on NixOS 22.05

Version: 1.67.2
Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
Date: 2022-05-17T18:23:40.286Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Linux x64 5.15.41

@ghost
Copy link

ghost commented Jun 9, 2022

--disable-gpu does not seem to be working either

@oranmehavi
Copy link

I can no longer reproduce the issue with the insiders build but can still reproduce with the normal one.

The insiders build is using electorn version 18.3.2 and the normal build is using version 17.4.7 .

@edrex
Copy link

edrex commented Jun 14, 2022

I can confirm @lolsniperftw's result - insider running as a native wayland client doesn't seem to be crashy around resize events. Once there is a release we can close this 😃

@Mentalist
Copy link

As others have mentioned, I can no longer reproduce this issue with the Insider release. Seems fixed for now.

Version: 1.69.0-insider
Commit: ca8a8376b46b63db7379cbcc827c75d92bf25e14
Date: 2022-06-14T05:16:09.718Z
Electron: 18.3.2
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: 10.0.139.17-electron.0
OS: Linux x64 5.18.3-arch1-1

@arigit
Copy link

arigit commented Jul 3, 2022

Same issue on the regular non-insiders version / ubuntu 22.04 / wayland & nvidia. I guess I will wait for the current insiders version to be released on the regular channel. A workaround in the interim would be nice.
At least window dragging for half-screen tiling works - and also the gtile gnome-shell extension works for resizing via shortcuts.

@deepak1556
Copy link
Collaborator

Issue should be addressed in latest stable and insiders with Electron 19.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests