OmniSharp / omnisharp-roslyn

OmniSharp server (HTTP, STDIO) based on Roslyn workspaces
MIT License
1.77k stars 421 forks source link

Bug: OmniSharp.Roslyn.CSharp.Workers.Diagnostics.AnalyzerWorkQueue fails to load #2276

Open sirdawidd opened 2 years ago

sirdawidd commented 2 years ago

I'm develop a .net 5 project. For that I have embeded version of .net 5, For that setup to load analyzers I've enabled a flag <loadFromRemoteSources enabled="true"/> However analyzers frequently are failing, it's purely random. Here is a log

OmniSharp server started.
    Path: c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\OmniSharp.exe
    PID: 54036

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Windows 6.2.9200.0 (x64)
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 1 MSBuild instance(s)
            1: StandAlone 16.11.0 - "c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild\Current\Bin"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        MSBUILD_EXE_PATH environment variable set to 'c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild\Current\Bin\MSBuild.exe'
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: StandAlone 16.11.0 - "c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild\Current\Bin"
            CscToolExe = csc.exe
            CscToolPath = c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild\Current\Bin\Roslyn
            MSBuildExtensionsPath = c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild
            MSBuildToolsPath = c:\.vscode\extensions\ms-dotnettools.csharp-1.23.12\.omnisharp\1.37.10\.msbuild\Current\Bin
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.Completion.CompletionOptionsProvider, Order: 0
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.ImplementTypeWorkspaceOptionsProvider, Order: 110
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.BlockStructureWorkspaceOptionsProvider, Order: 140
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in 'c:\project'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Could not find any Cake files
[info]: OmniSharp.MSBuild.ProjectSystem
        Skip loading projects listed in solution file or under target directory because MsBuild:LoadProjectsOnDemand is true.
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in 'c:\project'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Could not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location 'c:\project' on host 25120.
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\project.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: c:\someProject.Tests.csproj
[info]: OmniSharp.Roslyn.CSharp.Services.Diagnostics.CSharpDiagnosticWorkerWithAnalyzers
        Solution initialized -> queue all documents for code analysis. Initial document count: 0.
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file 'c:\someProject.Tests.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project 'c:\someProject.Tests.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: TaxReporting.Api.Tests
[info]: OmniSharp.MSBuild.ProjectManager
        Found referenced project outside root directory: c:\someProject.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project 'c:\someProject.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for 'c:\someProject.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: c:\someProject.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file 'c:\someProject.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: TaxReporting.Api
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\Programs\dotnet-sdk-5.0.301-win-x64\sdk\5.0.301\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Analyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\Programs\dotnet-sdk-5.0.301-win-x64\sdk\5.0.301\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Mvc.Analyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\Programs\dotnet-sdk-5.0.301-win-x64\sdk\5.0.301\Sdks\Microsoft.NET.Sdk.Web\analyzers\cs\Microsoft.AspNetCore.Components.Analyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\Programs\dotnet-sdk-5.0.301-win-x64\sdk\5.0.301\Sdks\Microsoft.NET.Sdk\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\Programs\dotnet-sdk-5.0.301-win-x64\sdk\5.0.301\Sdks\Microsoft.NET.Sdk\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\.nuget\packages\microsoft.codeanalysis.analyzers\3.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll
[info]: OmniSharp.OmniSharpWorkspace
        Adding analyzer reference: C:\.nuget\packages\microsoft.codeanalysis.analyzers\3.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll
Received response for /v2/codestructure but could not find request.
Received response for /v2/codestructure but could not find request.
Received response for /v2/getcodeactions but could not find request.
Received response for /v2/getcodeactions but could not find request.
[warn]: OmniSharp.Roslyn.CSharp.Workers.Diagnostics.AnalyzerWorkQueue
        Timeout before work got ready for foreground analysis queue. This is assertion to prevent complete api hang in case of error.
[warn]: OmniSharp.Roslyn.CSharp.Workers.Diagnostics.AnalyzerWorkQueue
        Timeout before work got ready for foreground analysis queue. This is assertion to prevent complete api hang in case of error.
.....................
filipw commented 2 years ago

1.37.10 is a really old Omnisharp build. Does it happen with latest release?

sirdawidd commented 2 years ago

Is is the same on the latest version, Sometimes it working fine after computer restart. However I start to suspect the local history plugin . Each time when I have any file in history analyzer is failing. And increase timeout does not help. And its not possible to whitelist that directory.

OmniSharp.Roslyn.CSharp.Services.Diagnostics.CSharpDiagnosticWorkerWithAnalyzers
        Analysis of document Project_20211206103638.cs failed or cancelled by timeout: The operation was canceled.,