microsoft / microsoft/TypeScript

typescript-language-features remote ssh crash

Open
#59,139 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs More Info
Dominant language
Go
Stars
111k
Forks
14.4k
Avg merge
1d 19h
Merged PRs (30d)
117

Description

Type: Bug

This was an annoyingly difficult issue to track down as due to the builtin typescript-language-features. I do NOT need to have this fixed as I can disable the extension. It would be nice to have fixed so I can run the stock builtin extensions. Posting here in case someone else has similar issue. They might be able to see a pattern with mine.

Reproducing

  • In shell create new folder t1.
  • Create file z.js with one line in it.
  • Open code using remote ssh.
  • Open folder t1.
  • Open z.js in code.

Wait a few seconds. Get notification of:
Remote Extension host terminated unexpectedly 3 times within the last 5 minutes.

If I disable the buildin extension typescript-language-features then it loads with no issues.

Log message in Output - Server has:

2024-05-04 13:11:43.726 [info] Last EH closed, waiting before shutting down
2024-05-04 13:12:03.761 [error] [<unknown>][ea8b9349][ExtensionHostConnection] Unknown reconnection token (seen before).
2024-05-04 13:12:03.853 [info] [<unknown>][5eb9842f][ExtensionHostConnection] New connection established.
2024-05-04 13:12:03.863 [info] [<unknown>][5eb9842f][ExtensionHostConnection] <111457> Launched Extension Host Process.
2024-05-04 13:12:04.710 [info] [<unknown>][5eb9842f][ExtensionHostConnection] <111457> Extension Host Process exited with code: null, signal: SIGSEGV.
2024-05-04 13:12:04.711 [info] Cancelling previous shutdown timeout
2024-05-04 13:12:04.711 [info] Last EH closed, waiting before shutting down

I turned on typescript logfile with the following setting in settings.json:

 "typescript.tsserver.log": "verbose"

I will attach a tsserver logfile from this. There is an exception there about executing command and message about "Error: write EPIPE"

I have tried both vscode version 1.89.0 and code - insiders. The vscode works okay in Remote SSH to other ubuntu servers. Just this docker instance has an issue. Remote (1and1 hosted) and local (docker hosted) installed similarly with ansible install scripts. There could be differences due to 1and1 hosted image vs docker initial image. (?)

I have tried disabling all extensions (Except Remote ssh).

VS Code version: Code - Insiders 1.90.0-insider (Universal) (816c6f7d7bc4da9796cd19ac6b122b6e26f50d7f, 2024-05-03T17:56:40.522Z)
OS version: Darwin x64 23.4.0
Modes:
Remote OS version: Linux x64 6.6.22-linuxkit

System Info
Item Value
CPUs Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz (8 x 2300)
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
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) 3, 4, 4
Memory (System) 32.00GB (0.08GB free)
Process Argv --crash-reporter-id 10fe963a-6fd1-43cd-bb5d-2c14a220c1b1
Screen Reader no
VM 0%
Item Value
Remote SSH: dev.docu.team
OS Linux x64 6.6.22-linuxkit
CPUs Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz (8 x 2304)
Memory (System) 7.66GB (4.80GB free)
VM 0%
Extensions (3)
Extension Author (truncated) Version
remote-ssh ms- 0.112.2024042515
remote-ssh-edit ms- 0.86.0
remote-explorer ms- 0.5.2024031109
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vsc_aacf:30263846
vscod805:30301674
vsaa593:30376534
py29gd2263:31024238
c4g48928:30535728
a9j8j154:30646983
962ge761:30841072
pythongtdpath:30726887
welcomedialog:30812478
pythonidxpt:30768918
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythontestfixt:30866404
pythonregdiag2:30926734
pyreplss1:30879911
pythonmypyd1:30859725
pythoncet0:30859736
h48ei257:31000450
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
cppperfnew:30980852
ccp2r3:30958153
pythonait:30973460
showvideot:31016890
chatpanelt:31014475
724cj586:31013169
pythoncenvpt:31022790
a69g1124:31018687
j0bi8933:31021562
dvdeprecationcf:31036533
pythonprt:31036556
dwnewjupytercf:31035177

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue by opening a one-line z.js file in a folder over Remote SSH, then compare the Extension Host output with the verbose tsserver log. Focus on the reported SIGSEGV and EPIPE in the Docker-based Linux environment, and compare it with a working remote Ubuntu server. Done means the remote extension host no longer crashes with the built-in TypeScript language features enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.