-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
Which version of the app are you using?
3.8.6
Which API Provider are you using?
OpenRouter
Which Model are you using?
Claude 3.7 Sonnet
What happened?
Issue Description:
I'm experiencing frequent crashes of the C# Language Server (LSP) in VSCode when using the Roo Code extension. This significantly impacts the coding experience, as Roo Code's functionality is greatly enhanced when the LSP is running and providing real-time error detection and code analysis.
The LSP crashes with a System.UriFormatException: Invalid URI: The Uri string is too long. error. This seems to occur intermittently, and I haven't been able to pinpoint the exact trigger. It might be related to Roo Code's file editing or saving actions, but I'm unsure.
Expected Behavior:
The C# LSP should remain stable and functional while using Roo Code, allowing Roo Code to interact with it for real-time feedback.
Actual Behavior:
The C# LSP crashes, resulting in loss of IntelliSense, code completion, and other language features. Roo Code's ability to display errors and warnings is also diminished.
Install the Roo Code and C# VSCode extensions (including C# Dev Kit).
Open a C# project.
Use Roo Code to generate or modify code.
Observe the LSP crashing after some time.
Additional Information:
VSCode Version: 3.8.6
Version: 1.98.2 (user setup)
Commit: ddc367ed5c8936efe395cffeec279b04ffd7db78
Date: 2025-03-12T13:32:45.399Z
Electron: 34.2.0
ElectronBuildId: 11161602
Chromium: 132.0.6834.196
Node.js: 20.18.2
V8: 13.2.152.36-electron.0
OS: Windows_NT x64 10.0.22631
Roo Code Extension Version:
C# Extension Version: ms-dotnettools.csharp 2.63.32
.NET SDK Version: 8.0.10
OS: Windows 11
Log Output:
Here's a sanitized log output from VSCode. I've removed the date/time and my username to protect my privacy, but the core error messages are preserved.
[info] Locating .NET runtime version 8.0.10
[info] Dotnet path: C:\Program Files\dotnet\dotnet.exe
[info] Activating C# + C# Dev Kit + C# IntelliCode...
[info] [stdout] {"pipeName":"\\\\.\\pipe\\b32d98a5"}
[info] received named pipe information from server
[info] client has connected to server
[info] [Info - 6:01:42 AM] [Program] Language server initialized
[info] [Info - 6:01:45 AM] [WorkspaceProjectFactoryService] Project C:\Users\username\AudioWindowHighlighter\AudioWindowHighlighter.csproj loaded by C# Dev Kit
[info] [Error - 6:10:40 AM] [LanguageServerHost] System.UriFormatException: Invalid URI: The Uri string is too long.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
at System.Uri..ctor(String uriString)
at Roslyn.LanguageServer.Protocol.DocumentUriConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /_/src/LanguageServer/Protocol/Protocol/Converters/DocumentUriConverter.cs:line 17
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo`1 jsonTypeInfo, Nullable`1 actualByteCount)
at System.Text.Json.JsonSerializer.Deserialize[TValue](JsonElement element, JsonSerializerOptions options)
at Microsoft.CommonLanguageServerProtocol.Framework.SystemTextJsonLanguageServer`1.DeserializeRequest[TRequest](Object serializedRequest, RequestHandlerMetadata metadata) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/SystemTextJsonLanguageServer.cs:line 30
at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem`1.TryDeserializeRequest[TRequest](AbstractLanguageServer`1 languageServer, RequestHandlerMetadata requestHandlerMetadata, Boolean isMutating, TRequest& request) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/QueueItem.cs:line 120
[info] [Error - 6:10:40 AM] [LanguageServerHost] System.UriFormatException: Invalid URI: The Uri string is too long.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
at System.Uri..ctor(String uriString)
at Roslyn.LanguageServer.Protocol.DocumentUriConverter.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /_/src/LanguageServer/Protocol/Protocol/Converters/DocumentUriConverter.cs:line 17
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo`1 jsonTypeInfo, Nullable`1 actualByteCount)
at System.Text.Json.JsonSerializer.Deserialize[TValue](JsonElement element, JsonSerializerOptions options)
at Microsoft.CommonLanguageServerProtocol.Framework.SystemTextJsonLanguageServer`1.DeserializeRequest[TRequest](Object serializedRequest, RequestHandlerMetadata metadata) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/SystemTextJsonLanguageServer.cs:line 30
at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem`1.TryDeserializeRequest[TRequest](AbstractLanguageServer`1 languageServer, RequestHandlerMetadata requestHandlerMetadata, Boolean isMutating, TRequest& request) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/QueueItem.cs:line 120
--- End of stack trace from previous location ---
at Microsoft.CommonLanguageServerProtocol.Framework.AbstractLanguageServer`1.DelegatingEntryPoint.InvokeAsync(IRequestExecutionQueue`1 queue, Object requestObject, ILspServices lspServices, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/AbstractLanguageServer.cs:line 204
at Microsoft.CommonLanguageServerProtocol.Framework.SystemTextJsonLanguageServer`1.SystemTextJsonDelegatingEntryPoint.ExecuteRequestAsync(Nullable`1 request, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/SystemTextJsonLanguageServer.cs:line 88
at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem`1.CreateRequestContextAsync[TRequest](IMethodHandler handler, RequestHandlerMetadata requestHandlerMetadata, AbstractLanguageServer`1 languageServer, CancellationToken cancellationToken)
at Microsoft.CommonLanguageServerProtocol.Framework.RequestExecutionQueue`1.ProcessQueueCoreAsync[TRequest,TResponse](IQueueItem`1 work, IMethodHandler handler, RequestHandlerMetadata metadata, ConcurrentDictionary`2 concurrentlyExecutingTasks, CancellationTokenSource currentWorkCts, CancellationToken cancellationToken)
at Microsoft.CommonLanguageServerProtocol.Framework.RequestExecutionQueue`1.InvokeProcessCoreAsync(IQueueItem`1 work, RequestHandlerMetadata metadata, IMethodHandler handler, MethodInfo methodInfo, ConcurrentDictionary`2 concurrentlyExecutingTasks, CancellationTokenSource currentWorkCts, CancellationToken cancellationToken) in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs:line 320
at Microsoft.CommonLanguageServerProtocol.Framework.RequestExecutionQueue`1.ProcessQueueAsync() in /_/src/LanguageServer/Microsoft.CommonLanguageServerProtocol.Framework/RequestExecutionQueue.cs:line 272
[info] [Info - 6:10:40 AM] Error processing queue, shutting down
[info] [Error - 6:10:40 AM] Workspace diagnostic pull failed.
[info] Canceled: Canceled
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2172513)
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:1171464)
at c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2209923
at async g.pullWorkspaceAsync (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2207231)
[info] [Error - 6:10:40 AM] Workspace diagnostic pull failed.
[info] Canceled: Canceled
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2172513)
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:1171464)
at c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2209923
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processImmediate (node:internal/timers:454:9)
at async g.pullWorkspaceAsync (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2207231)
[info] [Error - 6:10:40 AM] Workspace diagnostic pull failed.
[info] Canceled: Canceled
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2172513)
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:1171464)
at c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2209923
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processImmediate (node:internal/timers:454:9)
at async g.pullWorkspaceAsync (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2207231)
[info] [Error - 6:10:40 AM] Workspace diagnostic pull failed.
[info] Canceled: Canceled
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2172513)
at a.handleFailedRequest (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:1171464)
at c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2209923
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processImmediate (node:internal/timers:454:9)
at async g.pullWorkspaceAsync (c:\Users\username\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\dist\extension.js:2:2207231)
[info] [Error - 6:10:40 AM] Client Microsoft.CodeAnalysis.LanguageServer: connection to server is erroring. Shutting down server.
[info] [Error - 6:10:40 AM] Client Microsoft.CodeAnalysis.LanguageServer: connection to server is erroring. Shutting down server.
[info] [Error - 6:10:40 AM] Request textDocument/diagnostic failed.
[info] Message: write EPIPE
Code: -32099
[info] [Error - 6:10:40 AM] Document pull failed for text document file:///c%3A/Users/username/AudioWindowHighlighter/Src/Audio/AudioSessionManager.cs
[info] Message: write EPIPE
Code: -32099
[info] [Error - 6:10:40 AM] Request textDocument/diagnostic failed.
[info] Message: Server was requested to shut down.
Code: -32000
[object Object]
[info] [Error - 6:10:40 AM] Document pull failed for text document file:///c%3A/Users/username/AudioWindowHighlighter/Src/Audio/AudioSessionManager.cs
[info] Message: Server was requested to shut down.
Code: -32000
[object Object]
[info] [Error - 6:10:40 AM] Request textDocument/diagnostic failed.
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Document pull failed for text document file:///c%3A/Users/username/AudioWindowHighlighter/Src/Audio/AudioSessionManager.cs
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Connection to server got closed. Server will not be restarted.
[info] [Error - 6:10:40 AM] Request textDocument/diagnostic failed.
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Document pull failed for text document file:///c%3A/Users/username/AudioWindowHighlighter/Src/Audio/AudioSessionManager.cs
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Stopping server failed
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Stopping server failed
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
[info] [Error - 6:10:40 AM] Stopping server failed
[info] Message: Cannot call write after a stream was destroyed
Code: -32099
Steps to reproduce
Unfortunately, I haven't been able to consistently reproduce the crash. However, it happens frequently when I am actively using Roo Code to generate code or make edits within a C# project.
Relevant API REQUEST output
Additional context
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status