vscode: segfault on wayland with 1.78 when window.titleBarStyle=custom
Type: Bug
I’ve been using vscode 1.77 for a while and it’s very stable on my system (Hyprland (wlroots) wayland, with --enable-features=UseOzonePlatform --ozone-platform=wayland in ~/.config/code-flags.conf. But after an upgrade to 1.78 it’s quite crashy. What crashes for me (about 60% of the time) is running code --disable-extensions -d a b where a and b are local files. It was crashing in other locations as well though.
VS Code version: Code 1.78.0 (252e5463d60e63238250799aef7375787f68b4ee, 2023-05-03T20:09:46.685Z) OS version: Linux x64 6.3.1-arch1-1 Modes: Sandboxed: Yes (I’m not sure why it says yes here–I’m using the visual-studio-code-bin package from the AUR)
EDIT: Seems to only happen when window.titleBarStyle=custom
Verbose log
``` $ code --disable-extensions -d ~/orin_refimage_shotoverkernel.log ~/orin_myimage_shotoverkernel.log --verbose Warning: 'enable-features' is not in the list of known options, but still passed to Electron/Chromium. Warning: 'ozone-platform' is not in the list of known options, but still passed to Electron/Chromium. [0504/093229.704709:ERROR:file_io_posix.cc(152)] open /home/russell/.config/Code/Crashpad/pending/19ca2e88-8774-4393-bcf1-53aedd0811c6.lock: File exists (17) [0504/093229.704754:ERROR:file_io_posix.cc(152)] open /home/russell/.config/Code/Crashpad/pending/afefff46-1dd2-446d-b61e-88f1b4593ca0.lock: File exists (17) [63076:0504/093229.705274:WARNING:wayland_object.cc(144)] Binding to zwp_linux_dmabuf_v1 version 3 but version 4 is available. [63076:0504/093229.705324:WARNING:wayland_object.cc(144)] Binding to wl_seat version 5 but version 8 is available. [63076:0504/093229.705353:WARNING:wayland_object.cc(144)] Binding to zwp_pointer_gestures_v1 version 1 but version 3 is available. [63076:0504/093229.781404:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable. [63117:0504/093229.802904:ERROR:gl_display.cc(508)] EGL Driver message (Error) eglQueryDevicesEXT: EGL_BAD_ALLOC error: In eglQueryDevicesEXT: Failed to allocate device list. [63117:0504/093229.823966:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is egl, ANGLE is [63117:0504/093229.826348:WARNING:sandbox_linux.cc(380)] InitializeSandbox() called with multiple threads in process gpu-process. [main 2023-05-04T15:32:29.834Z] [File Watcher (node.js)] Request to start watching: /home/russell/.config/Code/User (excludes: <none>, includes: <all>),/home/russell/.config/Code/User/settings.json (excludes: <none>, includes: <all>) [main 2023-05-04T15:32:29.842Z] Starting VS Code [main 2023-05-04T15:32:29.842Z] from: /opt/visual-studio-code/resources/app [main 2023-05-04T15:32:29.842Z] args: { _: [ '/home/russell/orin_refimage_shotoverkernel.log', '/home/russell/orin_myimage_shotoverkernel.log' ], diff: true, merge: false, add: false, goto: false, 'new-window': false, 'reuse-window': false, wait: false, help: false, 'list-extensions': false, 'show-versions': false, 'pre-release': false, version: false, verbose: true, status: false, 'prof-startup': false, 'no-cached-data': false, 'prof-v8-extensions': false, 'disable-extensions': true, 'disable-gpu': false, 'ms-enable-electron-run-as-node': false, telemetry: false, debugRenderer: false, 'enable-smoke-test-driver': false, logExtensionHostCommunication: false, 'skip-release-notes': false, 'skip-welcome': false, 'disable-telemetry': false, 'disable-updates': false, 'disable-keytar': false, 'disable-workspace-trust': false, 'disable-crash-reporter': false, 'crash-reporter-id': '7cf4773b-9eec-4e98-be97-71aead94ebd8', 'skip-add-to-recently-opened': false, 'unity-launch': false, 'open-url': false, 'file-write': false, 'file-chmod': false, force: false, 'do-not-sync': false, trace: false, 'force-user-env': false, 'force-disable-user-env': false, 'open-devtools': false, 'disable-gpu-sandbox': false, '__enable-file-policy': false, 'enable-coi': false, 'no-proxy-server': false, 'no-sandbox': false, nolazy: false, 'force-renderer-accessibility': false, 'ignore-certificate-errors': false, 'allow-insecure-localhost': false, 'disable-dev-shm-usage': false, 'profile-temp': false, logsPath: '/home/russell/.config/Code/logs/20230504T093229' } [main 2023-05-04T15:32:29.843Z] Resolving machine identifier... [main 2023-05-04T15:32:29.843Z] Resolved machine identifier: 5ae45673b43208087ad57923c5cb25a0522a935da792e6a7f2fe060c58ebab62 [main 2023-05-04T15:32:29.843Z] Main->SharedProcess#connect [main 2023-05-04T15:32:29.845Z] [File Watcher (node.js)] Started watching: '/home/russell/.config/Code/User' [main 2023-05-04T15:32:29.846Z] [File Watcher (node.js)] Started watching: '/home/russell/.config/Code/User/settings.json' [main 2023-05-04T15:32:29.846Z] StorageMainService: creating application storage [main 2023-05-04T15:32:29.849Z] ElectronURLListener: waiting for window to be ready to handle URLs... [main 2023-05-04T15:32:29.849Z] lifecycle (main): phase changed (value: 2) [main 2023-05-04T15:32:29.849Z] windowsManager#open [main 2023-05-04T15:32:29.850Z] windowsManager#open pathsToOpen [ { fileUri: w { scheme: 'file', authority: '', path: '/home/russell/orin_refimage_shotoverkernel.log', query: '', fragment: '', _formatted: null, _fsPath: null }, type: 1, exists: true, options: { selection: undefined } }, { fileUri: w { scheme: 'file', authority: '', path: '/home/russell/orin_myimage_shotoverkernel.log', query: '', fragment: '', _formatted: null, _fsPath: null }, type: 1, exists: true, options: { selection: undefined } } ] [main 2023-05-04T15:32:29.850Z] IPC Object URL: Registered new channel vscode:0d402d8f-3060-42dd-8008-ea93ed84c475. [main 2023-05-04T15:32:29.850Z] window#validateWindowState: validating window state on 2 display(s) { mode: 1, x: 0, y: 0, width: 884, height: 1526 } [main 2023-05-04T15:32:29.851Z] window#validateWindowState: multi-monitor working area { x: 0, y: 0, width: 2560, height: 1600 } [main 2023-05-04T15:32:29.851Z] window#ctor: using window state { mode: 1, x: 0, y: 0, width: 884, height: 1526 } [63076:0504/093229.851335:WARNING:wayland_surface.cc(149)] Server doesn't support zcr_alpha_compositing_v1. [63076:0504/093229.851344:WARNING:wayland_surface.cc(164)] Server doesn't support overlay_prioritizer. [63076:0504/093229.851346:WARNING:wayland_surface.cc(178)] Server doesn't support surface_augmenter. [63076:0504/093229.851348:WARNING:wayland_surface.cc(193)] Server doesn't support wp_content_type_v1 [63076:0504/093229.851351:WARNING:wayland_surface.cc(212)] Server doesn't support zcr_color_management_surface. [63076:0504/093229.861916:WARNING:xdg_activation.cc(86)] Cannot activate a window because no active windows found! [63076:0504/093229.861948:WARNING:xdg_activation.cc(86)] Cannot activate a window because no active windows found! [main 2023-05-04T15:32:29.862Z] window#load: attempt to load window (id: 1) [main 2023-05-04T15:32:29.866Z] windowsManager#open used window count 1 (workspacesToOpen: 0, foldersToOpen: 0, emptyToRestore: 0, emptyToOpen: 0) [main 2023-05-04T15:32:29.866Z] lifecycle (main): phase changed (value: 3) [main 2023-05-04T15:32:29.866Z] resolveShellEnv(): skipped (VSCODE_CLI is set) [main 2023-05-04T15:32:29.866Z] update#setState idle [main 2023-05-04T15:32:29.894Z] resolveShellEnv(): skipped (VSCODE_CLI is set) [0504/093229.952092:ERROR:elf_dynamic_array_reader.h(64)] tag not found [0504/093229.955272:ERROR:directory_reader_posix.cc(42)] opendir /home/russell/.config/Code/Crashpad/attachments/dbe6758a-c27c-4bc2-bd98-a8b25c6a26a5: No such file or directory (2) ```System Info
| Item | Value |
|---|---|
| CPUs | 11th Gen Intel® Core™ i9-11900H @ 2.50GHz (16 x 3767) |
| GPU Status | 2d_canvas: enabled canvas_oop_rasterization: disabled_off direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok video_decode: enabled video_encode: disabled_software vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: disabled_off |
| Load (avg) | 1, 1, 1 |
| Memory (System) | 31.08GB (25.95GB free) |
| Process Argv | –enable-features=UseOzonePlatform --ozone-platform=wayland --crash-reporter-id 7cf4773b-9eec-4e98-be97-71aead94ebd8 |
| Screen Reader | no |
| VM | 0% |
| DESKTOP_SESSION | undefined |
| XDG_CURRENT_DESKTOP | Hyprland |
| XDG_SESSION_DESKTOP | undefined |
| XDG_SESSION_TYPE | wayland |
Extensions (37)
| Extension | Author (truncated) | Version |
|---|---|---|
| better-toml | bun | 0.3.2 |
| doxdocgen | csc | 1.4.0 |
| gitlens | eam | 13.5.0 |
| remotehub | Git | 0.56.0 |
| vscode-pull-request-github | Git | 0.62.0 |
| better-cpp-syntax | jef | 1.17.2 |
| cmake-language-support-vscode | jos | 0.0.9 |
| vscode-clangd | llv | 0.1.24 |
| cortex-debug | mar | 1.10.0 |
| Kotlin | mat | 1.7.1 |
| Lisp | mat | 0.1.12 |
| debug-tracker-vscode | mcu | 0.0.15 |
| memory-view | mcu | 0.0.20 |
| rtos-views | mcu | 0.0.6 |
| vscode-docker | ms- | 1.25.0 |
| vscode-dotnet-runtime | ms- | 1.6.0 |
| jupyter-keymap | ms- | 1.1.0 |
| remote-containers | ms- | 0.292.0 |
| remote-ssh | ms- | 0.100.0 |
| remote-ssh-edit | ms- | 0.84.0 |
| remote-wsl | ms- | 0.78.4 |
| azure-repos | ms- | 0.32.0 |
| cmake-tools | ms- | 1.14.31 |
| cpptools-extension-pack | ms- | 1.3.0 |
| remote-explorer | ms- | 0.4.0 |
| remote-repositories | ms- | 0.34.0 |
| veriloghdl | msh | 1.11.4 |
| probe-rs-debugger | pro | 0.17.4 |
| awesome-vhdl | puo | 0.0.1 |
| vscode-xml | red | 0.25.0 |
| rust-analyzer | rus | 0.4.1501 |
| crates | ser | 0.5.11 |
| cmake | twx | 0.0.17 |
| vscode-lldb | vad | 1.9.1 |
| vim | vsc | 1.25.2 |
| markdown-all-in-one | yzh | 3.5.1 |
| vscode-proto3 | zxh | 0.5.5 |
(1 theme extensions excluded)
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
3biah626:30602489
pyind779:30671433
89544117:30613380
pythonsymbol12:30671437
2i9eh265:30646982
showlangstatbar:30730054
vsctsb:30705553
azdwalk:30721579
pythonms35:30701012
pythonfmttext:30731395
pythonclientmvcf:30725893
fixhidewlkth:30730051
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 21
- Comments: 51 (6 by maintainers)
It crashes every time now as long as window.titleBarStyle=custom.
I am using Hyprland on Arch Linux.
With option:
--ozone-platform-hint=autoVerbose output (note that there is only one error now(tag not found), the no-such-file error is gone)
crash.zip
For me running on AMD/Nvidia card on Hyprland adding this to
~/.config/Code/User/settings.jsonfixed the issueand then to no see the annoying title bar I put this to my
hyprland.confand it looks just as good as the X11 platformI built vscode with Electron 22.3.10 and can no longer reproduce the crashes on Wayland (Plasma 5.27.5) 🍾. I tested native and custom title bars and did not get a single crash on either with actions that would previously trigger the crash.
It seems very likely to me that https://github.com/electron/electron/pull/38199 was the fix for this issue, and I think this issue can be closed once vscode updates to a patched version of Electron.
(launching with
--ozone-platform-hint=auto)If there are any packagers in here, you can use the following snippet to update Electron for your OS packages:
And then build normally.
The lack of a good stack-trace and some early comments in this thread (e.g.: https://github.com/microsoft/vscode/issues/181533#issuecomment-1535627634) made it look like this issue might be a duplicate of #179836.
When more context was provided, it turned out they were two separate issues that were both resulting in segfaults on Wayland.
The reason this issue stays closed is because it got spun-out into #184124 which more accurately describes the underlying root issue (and also doesn’t have some of the noise from this thread where different people were experiencing a segfault rather than this segfault).
TLDR: If you are still affected by this issue just subscribe and add your input to #184124 instead.
for me the only thing getting code to launch is setting
"window.titleBarStyle": "custom"my code-flags.conf areFor now I’ve just downgraded to 1.77, and it seems it could be a while before anyone notices the fix has nothing to do with this bug. This is unfortunate, but not unexpected, being honest: I don’t really expect Wayland support to be very good unless some VSCode maintainers actually use VSCode on Wayland, and I presume they probably are not right now. This is unfortunate but not surprising given that it’s not even the default in Electron yet.
The issue should still be re-opened, though, as it is very seriously not fixed.
FWIW, I am on 1.79.0 on NixOS and Sway and it crashes at startup frequently. It also crashes when creating a new window, albeit this seems less frequent.
(Note: this is based on the upstream Linux VSCode binaries.)
I tried
--enable-features=WaylandWindowDecorationsand putting"window.titleBarStyle": "native"in my settings.json, but this didn’t change much for me. If I docustomit crashes more often, but it’s very sporadic either way.The drag’n’drop thing seems like an unrelated fix. Based on the description of that one, it sounds like it could only ever matter on screens with a scale factor other than 1. While I do have some machines that have a scale factor of 2+, it makes no difference in particular for this bug in my experience.
I am not sure how to find the actual problem. I tried taking a look at the dumps with
coredumpctl, but I don’t have symbols. Nothing obvious shows up.FWIW, VSCodium 1.78.2 based on Electron 22.3.5 has no issue.Nope, repro’d there too.I think this should probably be re-opened?
Nope, still crushing for me. Opening 3-4 windows and moving/maximizing them crashes consistently.
Not fixed. XWayland not working either (black menus, weird cursor stuff happening).
I can confirm I have the exact same behaviour on my system: much more frequent crashes with custom titlebar. Currently on code-insiders
b380da4ef1ee00e224a15c1d4d9793e27c2b6302.I am not facing this particular crash on the latest insiders
@deepak1556 Ah, yes that was it. There seems to be a minor issue with the AUR package (https://aur.archlinux.org/packages/visual-studio-code-insiders-bin) where it doesn’t update to the latest version unless you completely remove the downloaded packages from the cache. Removing
~/.cache/paru/clone/visual-studio-code-insiders-bin/and then installing again updated my code-insiders to the latest version, and fixed the issue.I am experiencing what looks like the same crash, and I can confirm it seems related to the popup that shows during drag-and-drop (for me it reproduces 100% of the time by just trying to drag a folder from the file explorer).
Still crashing for me.
Last
--verboselogs withWAYLAND_DEBUG=1andtitleBarStyle=native:When pressing maximize
When starting app in maximised state
VS Code 1.78.2 Electron 22.3.3 Mesa 23.0.3 Intel® Xe Graphics (TGL GT2) KDE Wayland, No scaling.
@russelltg are you using
"window.titleBarStyle": "native"? If not, can you change to it and start the application with the following flags--ozone-platform=wayland --enable-features=WaylandWindowDecorationsand see if the crash repros.@chrisr87 @ELT4N1N if you are on Sway then you might be hitting https://github.com/microsoft/vscode/issues/179836, please check if https://github.com/microsoft/vscode/issues/179836#issuecomment-1514217438 helps in your case as well.
I’m experiencing the same crash, but not just in vs code, other electron22 apps as well. Seems to be an upstream problem.
I’m not using hyprland but I’m using sway. But they use the same compositor.
Way upstream I guess. It’s on the chromium level.
https://bugs.chromium.org/p/chromium/issues/detail?id=1409940