Skip to content

OpenProjectAsync timeouting on 5.0 version of CodeAnalysis API #80113

@JanKrivanek

Description

@JanKrivanek

Version Used:

5.0.0-1.25259.101

Steps to Reproduce:

  1. https://github.com/JanKrivanek/RoslynAnalyzersTes
  2. cd TestGetDiags
  3. dotnet run

Expected Behavior:
The app loads the project under test and spews the diagnostics (this works with 4.x version of API) or more actionable error is given

Actual Behavior:
The OpenProjectAsync is failing with timeout

Unhandled exception. System.TimeoutException: The operation has timed out.
   at System.IO.Pipes.NamedPipeClientStream.ConnectInternal(Int32 timeout, CancellationToken cancellationToken, Int32 startTime)
   at Microsoft.CodeAnalysis.MSBuild.BuildHostProcessManager.BuildHostProcess..ctor(Process process, String pipeName, ILoggerFactory loggerFactory)
   at Microsoft.CodeAnalysis.MSBuild.BuildHostProcessManager.GetBuildHostAsync(BuildHostProcessKind buildHostKind, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.BuildHostProcessManager.GetBuildHostWithFallbackAsync(BuildHostProcessKind buildHostKind, String projectOrSolutionFilePath, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.Worker.LoadProjectFileInfosAsync(String projectPath, DiagnosticReportingOptions reportingOptions, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.Worker.LoadProjectInfosFromPathAsync(String projectPath, DiagnosticReportingOptions reportingOptions, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.Worker.LoadAsync(CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.LoadProjectInfoAsync(String projectFilePath, ProjectMap projectMap, IProgress`1 progress, ILogger msbuildLogger, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildProjectLoader.LoadProjectInfoAsync(String projectFilePath, ProjectMap projectMap, IProgress`1 progress, ILogger msbuildLogger, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.OpenProjectAsync(String projectFilePath, ILogger msbuildLogger, IProgress`1 progress, CancellationToken cancellationToken)
   at TestGetDiags.GetDiags.RunInternal(String projectFilePath, CancellationToken cancellationToken) in C:\src\RoslynAnalyzersTest\TestGetDiags\GetDiags.cs:line 30
   at TestGetDiags.GetDiags.Run(String sourceFilePath) in C:\src\RoslynAnalyzersTest\TestGetDiags\GetDiags.cs:line 24
   at TestGetDiags.Program.Main(String[] args) in C:\src\RoslynAnalyzersTest\TestGetDiags\Program.cs:line 6
   at TestGetDiags.Program.<Main>(String[] args)

Perceived priority

Not a blocker, but we need to currently use binlog parsing to harvest some of the missed diagnostics.

Notes

Created as followup of #80055
cc @jasonmalinowski

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions