Closed
Description
Version Used:
17.3.6
17.4.0 Preview 3
Steps to Reproduce:
- Start Visual Studio
- Open solution file containing a web project
- Crash
Expected Behavior:
Visual Studio to open and fully load, not crash.
Actual Behavior:
Visual Studio crashes after the solution is opened with no error message shown.
When inspecting a Windows dump file created on crash, it shows this call stack ending up in a stack overflow (on both versions mentioned, the call stack is the same):
Unhandled exception at 0x00007FF83EB9805D (Microsoft.CodeAnalysis.CSharp.ni.dll) in devenv.exe.20804.dmp: 0xC00000FD: Stack overflow (parameters: 0x0000000000000001, 0x000000967FA48FD8).
> Microsoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax.GetNodeSlot(int index) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.ChildSyntaxList.ItemInternal(Microsoft.CodeAnalysis.SyntaxNode node, int index) Unknown
[External Code]
[The 2 frame(s) above this were repeated 2442 times]
[External Code]
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.UserFunctionExtensions.WrapUserFunction.AnonymousMethod__0((System.__Canon, System.__Canon) input, System.Threading.CancellationToken token) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.TransformNode<(Microsoft.CodeAnalysis.DotnetRuntime.Extensions.SyntaxValueProviderExtensions.SyntaxTreeInfo, Microsoft.CodeAnalysis.DotnetRuntime.Extensions.GlobalAliases), (Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)>..ctor.AnonymousMethod__0((Microsoft.CodeAnalysis.DotnetRuntime.Extensions.SyntaxValueProviderExtensions.SyntaxTreeInfo, Microsoft.CodeAnalysis.DotnetRuntime.Extensions.GlobalAliases) i, System.Threading.CancellationToken token) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.TransformNode<(Microsoft.CodeAnalysis.DotnetRuntime.Extensions.SyntaxValueProviderExtensions.SyntaxTreeInfo, Microsoft.CodeAnalysis.DotnetRuntime.Extensions.GlobalAliases), (Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder builder, Microsoft.CodeAnalysis.NodeStateTable<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.TransformNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), (Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder builder, Microsoft.CodeAnalysis.NodeStateTable<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>)> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.CombineNode<(Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), Microsoft.CodeAnalysis.Compilation>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder graphState, Microsoft.CodeAnalysis.NodeStateTable<((Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), Microsoft.CodeAnalysis.Compilation)> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<((Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), Microsoft.CodeAnalysis.Compilation)>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<((Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), Microsoft.CodeAnalysis.Compilation)> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.TransformNode<((Microsoft.CodeAnalysis.SyntaxTree, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxNode>), Microsoft.CodeAnalysis.Compilation), Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder builder, Microsoft.CodeAnalysis.NodeStateTable<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.BatchNode<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder builder, Microsoft.CodeAnalysis.NodeStateTable<System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.CombineNode<Microsoft.CodeAnalysis.Compilation, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder graphState, Microsoft.CodeAnalysis.NodeStateTable<(Microsoft.CodeAnalysis.Compilation, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>)> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<(Microsoft.CodeAnalysis.Compilation, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>)>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<(Microsoft.CodeAnalysis.Compilation, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>)> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.SourceOutputNode<(Microsoft.CodeAnalysis.Compilation, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax>)>.UpdateStateTable(Microsoft.CodeAnalysis.DriverStateTable.Builder graphState, Microsoft.CodeAnalysis.NodeStateTable<(System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.GeneratedSourceText>, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.Diagnostic>)> previousTable, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.DriverStateTable.Builder.GetLatestStateTableForNode<(System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.GeneratedSourceText>, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.Diagnostic>)>(Microsoft.CodeAnalysis.IIncrementalGeneratorNode<(System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.GeneratedSourceText>, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.Diagnostic>)> source) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.SourceOutputNode<(System.__Canon, System.Collections.Immutable.ImmutableArray<System.__Canon>)>.AppendOutputs(Microsoft.CodeAnalysis.IncrementalExecutionContext context, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.GeneratorDriver.UpdateOutputs(System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.IIncrementalGeneratorOutputNode> outputNodes, Microsoft.CodeAnalysis.IncrementalGeneratorOutputKind outputKind, Microsoft.CodeAnalysis.GeneratorRunStateTable.Builder generatorRunStateBuilder, System.Threading.CancellationToken cancellationToken, Microsoft.CodeAnalysis.DriverStateTable.Builder driverStateBuilder) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.GeneratorDriver.RunGeneratorsCore(Microsoft.CodeAnalysis.Compilation compilation, Microsoft.CodeAnalysis.DiagnosticBag diagnosticsBag, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.GeneratorDriver.RunGenerators(Microsoft.CodeAnalysis.Compilation compilation, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.FinalizeCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.Compilation compilationWithoutGenerators, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, Microsoft.CodeAnalysis.Compilation compilationWithStaleGeneratedTrees, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoFromScratchAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetOrBuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, bool lockGate, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationSlowAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.GetMetadataReferenceAsync(Microsoft.CodeAnalysis.SolutionState.ICompilationTracker tracker, Microsoft.CodeAnalysis.ProjectState fromProject, Microsoft.CodeAnalysis.ProjectReference projectReference, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.GetMetadataReferenceAsync(Microsoft.CodeAnalysis.ProjectReference projectReference, Microsoft.CodeAnalysis.ProjectState fromProject, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.FinalizeCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.Compilation compilationWithoutGenerators, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, Microsoft.CodeAnalysis.Compilation compilationWithStaleGeneratedTrees, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoFromScratchAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetOrBuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, bool lockGate, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationSlowAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.GetMetadataReferenceAsync(Microsoft.CodeAnalysis.SolutionState.ICompilationTracker tracker, Microsoft.CodeAnalysis.ProjectState fromProject, Microsoft.CodeAnalysis.ProjectReference projectReference, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.GetMetadataReferenceAsync(Microsoft.CodeAnalysis.ProjectReference projectReference, Microsoft.CodeAnalysis.ProjectState fromProject, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.FinalizeCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.Compilation compilationWithoutGenerators, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, Microsoft.CodeAnalysis.Compilation compilationWithStaleGeneratedTrees, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoFromScratchAsync(Microsoft.CodeAnalysis.SolutionState solution, Microsoft.CodeAnalysis.SolutionState.CompilationTracker.CompilationTrackerGeneratorInfo generatorInfo, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.BuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetOrBuildCompilationInfoAsync(Microsoft.CodeAnalysis.SolutionState solution, bool lockGate, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationSlowAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.CompilationTracker.GetCompilationAsync(Microsoft.CodeAnalysis.SolutionState solution, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.SolutionState.GetCompilationAsync(Microsoft.CodeAnalysis.ProjectState project, System.Threading.CancellationToken cancellationToken) Unknown
Microsoft.WebTools.ProjectSystem.dll!Microsoft.WebTools.ProjectSystem.Web.Telemetry.WebProjectDetailsTelemetryCollector.CollectDataAndPostTelemetryAsync() Unknown
[External Code]