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

Two users SSH remove Ubuntu, one will fail #1555

Open
jllixiao opened this issue Oct 22, 2024 · 8 comments
Open

Two users SSH remove Ubuntu, one will fail #1555

jllixiao opened this issue Oct 22, 2024 · 8 comments

Comments

@jllixiao
Copy link

Type: Bug

I have 2 users A and B use SSH remote to Ubuntu to do development work.
If A's vscode works fine, then B's will not work. By not working, the code intellisense, project loading all failed.

Reinstall DevKit is not helping. But if B removes /tmp/csdevkit folder, then restart vscode, B's vscode will work well. But A will fail.

Steps to Reproduce

A starts vscode, then B starts.

Expected Behavior

Both A and B can work well.

Actual Behavior

B will fail.

C# log

Using dotnet configured on PATH
Dotnet path: /usr/lib/dotnet/dotnet
Activating C# + C# Dev Kit...
waiting for named pipe information from server...
[stderr] Unhandled exception: [stderr] System.ArgumentException: filePath
at Microsoft.VisualStudio.Telemetry.CommonProperty.CommonPropertyParserFactory.GetCommonPropertyParser(TelemetrySessionInternalBase session)
at Microsoft.VisualStudio.Telemetry.TelemetrySessionInternalBase.LoadCommonProperties()
at Microsoft.CodeAnalysis.LanguageServer.Logging.VSCodeTelemetryLogger.InitializeSession(String telemetryLevel, String sessionId, Boolean isDefaultSession)
at Microsoft.CodeAnalysis.LanguageServer.Logging.RoslynLogger.Initialize(ITelemetryReporter reporter, String telemetryLevel, String sessionId) in //src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/Logging/RoslynLogger.cs:line 41
at Program.<

$>g__RunAsync|0_0(ServerConfiguration serverConfiguration, CancellationToken cancellationToken) in //src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/Program.cs:line 100
at System.CommandLine.CliCommand.<>c__DisplayClass32_0.<b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Invocation.InvocationPipeline.InvokeAsync(ParseResult parseResult, CancellationToken cancellationToken)
Language server process exited with 1
[Error - 9:02:44 AM] Microsoft.CodeAnalysis.LanguageServer client: couldn't create connection to server.
Error: Language server process exited unexpectedly
at ChildProcess. (/home/lynn/.vscode-server/extensions/ms-dotnettools.csharp-2.50.27-linux-x64/dist/extension.js:2:1175957)
at ChildProcess.emit (node:events:531:35)
at ChildProcess._handle.onexit (node:internal/child_process:294:12)

Environment information

VSCode version: 1.94.2
C# Extension: 2.50.27
Using OmniSharp: false

Dotnet Information .NET SDK: Version: 8.0.110 Commit: 87a66bb3d1 Workload version: 8.0.100-manifests.2d90560f

Runtime Environment:
OS Name: ubuntu
OS Version: 24.04
OS Platform: Linux
RID: ubuntu.24.04-x64
Base Path: /usr/lib/dotnet/sdk/8.0.110/

.NET workloads installed:
Workload version: 8.0.100-manifests.2d90560f
There are no installed workloads to display.

Host:
Version: 8.0.10
Architecture: x64
Commit: 81cabf2857

.NET SDKs installed:
8.0.110 [/usr/lib/dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.10 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.10 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None

Environment variables:
Not set

global.json file:
Not found

Learn more:
https://aka.ms/dotnet/info

Download .NET:
https://aka.ms/dotnet/download

Visual Studio Code Extensions
Extension Author Version Folder Name
azure-account ms-vscode 0.12.0 ms-vscode.azure-account-0.12.0
azure-dev ms-azuretools 0.8.3 ms-azuretools.azure-dev-0.8.3
csdevkit ms-dotnettools 1.11.14 ms-dotnettools.csdevkit-1.11.14-linux-x64
csharp ms-dotnettools 2.50.27 ms-dotnettools.csharp-2.50.27-linux-x64
csharpextensions jchannon 1.3.1 jchannon.csharpextensions-1.3.1
dart-code Dart-Code 3.98.1 dart-code.dart-code-3.98.1
debugpy ms-python 2024.12.0 ms-python.debugpy-2024.12.0-linux-x64
dotnet-interactive-vscode ms-dotnettools 1.0.5229040 ms-dotnettools.dotnet-interactive-vscode-1.0.5229040
flutter Dart-Code 3.98.0 dart-code.flutter-3.98.0
githistory donjayamanne 0.6.20 donjayamanne.githistory-0.6.20
jupyter ms-toolsai 2024.9.1 ms-toolsai.jupyter-2024.9.1-linux-x64
jupyter-renderers ms-toolsai 1.0.19 ms-toolsai.jupyter-renderers-1.0.19
markdown-preview-enhanced shd101wyy 0.8.14 shd101wyy.markdown-preview-enhanced-0.8.14
prettier-vscode esbenp 11.0.0 esbenp.prettier-vscode-11.0.0
python ms-python 2024.16.1 ms-python.python-2024.16.1-linux-x64
ssml-tags Osuka42g 0.0.1 osuka42g.ssml-tags-0.0.1
terraform hashicorp 2.33.0 hashicorp.terraform-2.33.0-linux-x64
vscode-azureappservice ms-azuretools 0.25.4 ms-azuretools.vscode-azureappservice-0.25.4
vscode-azurecontainerapps ms-azuretools 0.7.1 ms-azuretools.vscode-azurecontainerapps-0.7.1
vscode-azurefunctions ms-azuretools 1.15.4 ms-azuretools.vscode-azurefunctions-1.15.4
vscode-azureresourcegroups ms-azuretools 0.9.7 ms-azuretools.vscode-azureresourcegroups-0.9.7
vscode-azurestaticwebapps ms-azuretools 0.12.2 ms-azuretools.vscode-azurestaticwebapps-0.12.2
vscode-azurestorage ms-azuretools 0.16.1 ms-azuretools.vscode-azurestorage-0.16.1
vscode-cosmosdb ms-azuretools 0.23.0 ms-azuretools.vscode-cosmosdb-0.23.0
vscode-devskim MS-CST-E 1.0.33 ms-cst-e.vscode-devskim-1.0.33
vscode-dotnet-runtime ms-dotnettools 2.2.0 ms-dotnettools.vscode-dotnet-runtime-2.2.0
vscode-jupyter-cell-tags ms-toolsai 0.1.9 ms-toolsai.vscode-jupyter-cell-tags-0.1.9
vscode-jupyter-slideshow ms-toolsai 0.1.6 ms-toolsai.vscode-jupyter-slideshow-0.1.6
vscode-node-azure-pack ms-vscode 1.2.0 ms-vscode.vscode-node-azure-pack-1.2.0
vscode-pylance ms-python 2024.10.1 ms-python.vscode-pylance-2024.10.1
vscode-tailwindcss bradlc 0.12.11 bradlc.vscode-tailwindcss-0.12.11
vscode-xml redhat 0.27.1 redhat.vscode-xml-0.27.1-linux-x64

Extension version: 1.11.14
VS Code version: Code 1.94.2 (384ff7382de624fb94dbaf6da11977bba1ecd427, 2024-10-09T16:08:44.566Z)
OS version: Windows_NT x64 10.0.19044
Modes:
Remote OS version: Linux x64 6.8.0-44-generic

System Info
Item Value
CPUs AMD Ryzen 5 PRO 4650U with Radeon Graphics (12 x 2096)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: enabled_on
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
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) undefined
Memory (System) 15.23GB (2.32GB free)
Process Argv --folder-uri vscode-remote://ssh-remote%2B10.2.156.49/home/jason/Workspace/official/allure-components --crash-reporter-id 2b129294-2fdd-4d9d-b5d5-1ee818e2fd65
Screen Reader no
VM 0%
Item Value
Remote SSH: 10.2.156.49
OS Linux x64 6.8.0-44-generic
CPUs AMD EPYC 75F3 32-Core Processor (8 x 0)
Memory (System) 15.62GB (7.93GB free)
VM 0%
A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
vsaa593cf:30376535
py29gd2263:31024239
vscaac:30438847
c4g48928:30535728
azure-dev_surveyonecf:30548226
a9j8j154:30646983
962ge761:30959799
pythongtdpath:30769146
pythonnoceb:30805159
asynctok:30898717
pythonmypyd1:30879173
2e7ec940:31000449
pythontbext0:30879054
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
945dj816:31013170
dvdeprecation:31068756
dwnewjupytercf:31046870
impr_priority:31102340
nativerepl2:31139839
refactort:31108082
pythonrstrctxt:31112756
wkspc-onlycs-t:31132770
wkspc-ranged-t:31151552
cf971741:31144450
autoexpandse:31146404
iacca1:31156133
notype1cf:31157160
5fd0e150:31155592
dwcopilot:31164048
icondisabled:31158250

@arunchndr
Copy link
Member

Starting with @dibarbet for the call stack with CA in specific.

But the insight around reuse of /tmp/csdevkit could be something for us to chase down. @AArnott would you know what other teams are involved with that?

@dibarbet
Copy link
Member

@jonathanjyi this looks similar to #1354 but perhaps with a different cause. Would you mind taking a look?

@jonathanjyi
Copy link

jonathanjyi commented Oct 29, 2024

Hi @jllixiao thanks for reporting this issue and pasting the Log. I'll take a look to see what's going on. In the mean time, could you elaborate a bit more on the setup?

  1. Are the Windows users using the same SSH credentials to login to the Ubuntu box?
  2. Since you mentioned SSH, I assume that the users are starting VS Code on the Windows side, and using a remote connection login to connect through SSH to the Linux side?
  3. Can both Windows users start C# Dev Kit Extension on their Windows machines without logging in to the remote Ubuntu box successfully with no crashes or errors?
  4. Are both users opening the same project?

@jonathanjyi jonathanjyi added needs-more-info Needing more information, waiting on OP needs-investigation labels Oct 30, 2024
@arunchndr arunchndr assigned webreidi and unassigned dibarbet Oct 30, 2024
@arunchndr
Copy link
Member

Adding @webreidi as owner to comment on scenario support after we understand scope of break.

@jllixiao
Copy link
Author

jllixiao commented Nov 5, 2024

Hi @jllixiao thanks for reporting this issue and pasting the Log. I'll take a look to see what's going on. In the mean time, could you elaborate a bit more on the setup?

  1. Are the Windows users using the same SSH credentials to login to the Ubuntu box?
  2. Since you mentioned SSH, I assume that the users are starting VS Code on the Windows side, and using a remote connection login to connect through SSH to the Linux side?
  3. Can both Windows users start C# Dev Kit Extension on their Windows machines without logging in to the remote Ubuntu box successfully with no crashes or errors?
  4. Are both users opening the same project?

Hi @jonathanjyi ,

  1. No, we use different credentials to ssh to the Ubuntu server.
  2. Yes, we both use VSCode on Windows to remote to the Ubuntu server. One is Windows 10 Enterprise, the other is Windows 11 pro.
  3. Yes, it works well on our own Windows system.
  4. No, we open different project.

Hope this helps,

Thanks a lot,

Copy link

github-actions bot commented Nov 5, 2024

@jonathanjyi, the 'needs-more-info' label has been removed upon receiving further response from the original bug filer.

@github-actions github-actions bot removed the needs-more-info Needing more information, waiting on OP label Nov 5, 2024
@jonathanjyi
Copy link

@jllixiao, apologies on the delay. I was able to repro this issue locally and know what the issue is.

Using your example of Users A and B, what is happening here is that User A is the first open and start the C# Dev Kit extension. That means User A also creates the /tmp/csdevkit folder with their permissions, thus preventing User B from writing to that directory.
Example: drwxrwxr-x User_A User_A csdevkit

I'm investigating a solution internally and will update here.

@jonathanjyi
Copy link

Also, @jllixiao I wanted to add that to unblock your users until we get a fix out, you can set the /tmp/csdevkit folder to world write (777) at the folder level.

sudo chmod 777 /tmp/csdevkit should do it. Let me know if this doesn't work for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants