Skip to content

Exetremely Slow Startup ONLY IN WSL behind proxy #3851

@wizcas

Description

@wizcas

Issue Type: Performance Issue

It takes over 1 min until the application window shows up. I've made several experiments trying to locate the problem:

1. With proxy server in the VS Code Http:Proxy setting

  • Run code in PowerShell: ✔️️ application window showed within 5 seconds
  • Run code in WSL (Ubuntu 18.04): ❌️ Super slow startup over 1 minute

2. Without proxy server in the VS Code Http:Proxy setting and no system environment variables of HTTP_PROXY & HTTPS_PROXY:

  • Run code in PowerShell: ✔️️ < 5 secs.
  • Run code in WSL: ✔️️ < 5 secs.

3. Turns off proxy server during the startup so to make network requests fail on purpose

  • Run code in PowerShell: ✔️️ < 5 secs.
  • Run code in WSL: ✔️️ < 5 secs.

Conclusion & Questions

So it appears that some kind of network requests blocks the startup process of VS Code. But how comes it happens ONLY in WSL rather than BOTH OF WSL & PowerShell?

I also wonder if I can have an HTTP request list during VS Code startup, so to run some tests to see if there's anything wrong with my proxy server?

I've tried to launch VS Code with --disable-extensions --trace --log-net-log=xxx flags. The output files are attached below. --prof-startup seems not working properly in WSL. VS Code would simply fail to launch with this flag.

VS Code version: Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:27:35.169Z)
OS version: Windows_NT x64 10.0.18363
Remote OS version: Linux x64 4.4.0-18362-Microsoft

System Info
Item Value
CPUs Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off_ok
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 31.91GB (18.20GB free)
Process Argv --folder-uri=vscode-remote://wsl+Ubuntu-18.04/i/0x1c/blog --remote=wsl+Ubuntu-18.04
Screen Reader no
VM 0%
Item Value
Remote WSL: Ubuntu-18.04
OS Linux x64 4.4.0-18362-Microsoft
CPUs Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)
Memory (System) 31.91GB (18.20GB free)
VM 0%
Process Info
CPU %	Mem MB	   PID	Process
    0	    84	  4600	code main
    0	    16	  1520	   electron-crash-reporter
    0	    26	  6540	   utility
    0	   110	  8268	   shared-process
    0	   255	  9316	   window (设置 - blog [WSL: Ubuntu-18.04] - Visual Studio Code)
    0	    92	 18240	     extensionHost
    0	    28	 25892	       electron_node wslDaemon.js 
    0	     5	 22412	         C:\WINDOWS\System32\wsl.exe -d Ubuntu-18.04 sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" 5763d909d5f12fe19f215cbfdd29a91c0fa9208a stable .vscode-server 0  '
    0	     5	  1512	           C:\WINDOWS\System32\lxss\wslhost.exe {d93f86d6-b447-4881-9fb0-68bf2ef02cc3} 452 460 464
    0	    15	  5632	             console-window-host (Windows internal process)
    0	    11	  2120	           console-window-host (Windows internal process)
    0	   129	 14252	   gpu-process
    0	    77	 18388	   window (问题报告程序)

Remote: WSL: Ubuntu-18.04
CPU %	Mem MB	   PID	Process
    0	     0	 11691	remote agent
    0	     0	 11706	   watcherService
    0	     0	 12082	   extensionHost
    0	     0	 12140	     /home/wizcas/.vscode-server/bin/5763d909d5f12fe19f215cbfdd29a91c0fa9208a/node /home/wizcas/.vscode-server/extensions/redhat.vscode-yaml-0.8.0/node_modules/yaml-language-server/out/server/src/server.js --node-ipc --clientProcessId=12082
    0	     0	 12147	     /home/wizcas/.vscode-server/bin/5763d909d5f12fe19f215cbfdd29a91c0fa9208a/node /home/wizcas/.vscode-server/extensions/ckolkman.vscode-postgres-1.1.11/node_modules/vscode-languageclient/lib/utils/electronForkStart /home/wizcas/.vscode-server/extensions/ckolkman.vscode-postgres-1.1.11/out/language/server.js --node-ipc --clientProcessId=12082
    0	     0	 12153	     /home/wizcas/.vscode-server/bin/5763d909d5f12fe19f215cbfdd29a91c0fa9208a/node /home/wizcas/.vscode-server/extensions/mtxr.sqltools-0.21.7/languageserver.js --node-ipc --clientProcessId=12082
    0	     0	 12207	   /bin/sh -c /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	     0	 12208	     /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
Workspace Info

|  Remote: WSL: Ubuntu-18.04|    Folder (blog): 641 files|      File types: js(170) map(91) json(71) png(36) tsx(25) html(23) svg(8)
|                  jpg(7) ts(6) mdx(6)
|      Conf files: package.json(1) tsconfig.json(1);
Extensions (47)
Extension Author (truncated) Version
vscode-openapi 42C 3.2.0
vscode-base64 ada 0.1.0
ng-template Ang 0.901.9
swagger-viewer Arj 3.0.1
better-toml bun 0.3.2
vscode-postgres cko 1.1.11
hex-to-rgba dak 1.0.0
dart-code Dar 3.10.2
flutter Dar 3.10.2
EditorConfig Edi 0.15.0
prettier-vscode esb 4.7.0
shell-format fox 7.0.1
beautify Hoo 1.5.0
rainbow-csv mec 1.7.0
vscode-scss mrm 0.9.0
vscode-docker ms- 1.2.0
vscode-language-pack-zh-hans MS- 1.45.1
Go ms- 0.14.3
vscode-typescript-tslint-plugin ms- 1.2.3
sqltools mtx 0.21.7
vscode-yaml red 0.8.0
LiveServer rit 5.6.1
trailing-spaces sha 0.3.1
move-ts str 1.12.0
markdown-pdf yza 1.4.4
markdown-all-in-one yzh 2.8.0
cursorCharCode zei 0.1.1
material-theme zhu 3.7.1
vscode-proto3 zxh 0.4.2
vsc-material-theme Equ 32.6.0
vsc-material-theme-icons equ 1.1.4
Angular2 joh 9.1.2
Angular-BeastCode Mik 8.1.2
vscode-language-pack-zh-hans MS- 1.45.1
remote-containers ms- 0.117.1
remote-ssh ms- 0.51.0
remote-ssh-edit ms- 0.51.0
remote-wsl ms- 0.44.2
vscode-remote-extensionpack ms- 0.20.0
debugger-for-chrome msj 4.12.8
awesome-flutter-snippets Nas 2.0.3
material-icon-theme PKi 4.1.0
mdx sil 0.1.0
vscode-autohotkey sle 0.2.2
vscode-icons vsc 10.1.1
vscode-caddyfile-syntax zam 1.0.4
material-theme zhu 3.7.1

(1 theme extensions excluded)

code-2b86.trace.txt

netlog.txt

Metadata

Metadata

Labels

info-neededIssue requires more information from poster

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions