Skip to content

Assertion failed in SourceNamedTypeSymbol.AfterMembersCompletedChecks #78433

@tmat

Description

@tmat
  1. Build and deploy debug build from clean Roslyn main branch (build -d -r)
  2. Start devenv /rootsuffix RoslynDev
  3. Checkout https://github.com/tmat/roslyn/tree/Bug78433 in another Roslyn repo clone
  4. Open Roslyn.sln from clone [3] in the VS instance opened in [2]
  5. Open View > Other Windows > C# Semantic Search
  6. Enter following query and hit run button:
static IEnumerable<ISymbol> Find(Compilation compilation)
{
	var locations = compilation.GetDiagnostics();
	return [];
}
  1. After a while an assertion failure appears:
System.InvalidOperationException: Assertion failed
      at Microsoft.CodeAnalysis.Remote.ThrowingTraceListener.Fail(String message, String detailMessage) in E:\R1\src\Workspaces\Remote\ServiceHub\Host\ThrowingTraceListener.cs:line 14
      at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage)
      at System.Diagnostics.Debug.Fail(String message, String detailMessage)
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.AfterMembersCompletedChecks(BindingDiagnosticBag diagnostics) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamedTypeSymbol.cs:line 1841
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceMemberContainerSymbol.cs:line 676
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Symbol.cs:line 965
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamespaceSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceNamespaceSymbol_Completion.cs:line 80
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceModuleSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceModuleSymbol.cs:line 272
      at Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Symbols\Source\SourceAssemblySymbol.cs:line 929
      at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetSourceDeclarationDiagnostics(SyntaxTree syntaxTree, Nullable`1 filterSpanWithinTree, Func`4 locationFilterOpt, Predicate`1 symbolFilter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Compilation\CSharpCompilation.cs:line 3232
      at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetDiagnosticsWithoutSeverityFiltering(CompilationStage stage, Boolean includeEarlierStages, BindingDiagnosticBag builder, Predicate`1 symbolFilter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Compilation\CSharpCompilation.cs:line 3006
      at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetDiagnostics(CompilationStage stage, Boolean includeEarlierStages, DiagnosticBag diagnostics, Predicate`1 symbolFilter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Compilation\CSharpCompilation.cs:line 2931
      at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.GetDiagnostics(CompilationStage stage, Boolean includeEarlierStages, Predicate`1 symbolFilter, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Compilation\CSharpCompilation.cs:line 2919
      at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.CompileMethods(CommonPEModuleBuilder moduleBuilder, Boolean emittingPdb, DiagnosticBag diagnostics, Predicate`1 filterOpt, CancellationToken cancellationToken) in E:\R1\src\Compilers\CSharp\Portable\Compilation\CSharpCompilation.cs:line 3481
      at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream metadataPEStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, RebuildData rebuildData, CompilationTestData testData, CancellationToken cancellationToken) in E:\R1\src\Compilers\Core\Portable\Compilation\Compilation.cs:line 2969
      at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, Stream metadataPEStream, RebuildData rebuildData, CancellationToken cancellationToken) in E:\R1\src\Compilers\Core\Portable\Compilation\Compilation.cs:line 2910
      at Microsoft.CodeAnalysis.Compilation.Emit(Stream peStream, Stream pdbStream, Stream xmlDocumentationStream, Stream win32Resources, IEnumerable`1 manifestResources, EmitOptions options, IMethodSymbol debugEntryPoint, Stream sourceLinkStream, IEnumerable`1 embeddedTexts, Stream metadataPEStream, CancellationToken cancellationToken) in E:\R1\src\Compilers\Core\Portable\Compilation\Compilation.cs:line 2798
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.<CreateSkeletonSet>g__TryCreateMetadataAndHandle|10_0(<>c__DisplayClass10_0&) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 247
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.CreateSkeletonSet(SolutionServices services, Compilation compilation, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 221
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.<>c.<CreateSkeletonReferenceSetAsync>b__9_1(ValueTuple`2 arg, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 212
      at Roslyn.Utilities.AsyncLazy`1.AsyncLazyImpl`1.StartAsynchronousComputation(AsynchronousComputationToStart computationToStart, Request requestToCompleteSynchronously, CancellationToken callerCancellationToken) in E:\R1\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AsyncLazy`1.cs:line 409
      at Roslyn.Utilities.AsyncLazy`1.AsyncLazyImpl`1.GetValueAsync(CancellationToken cancellationToken) in E:\R1\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\AsyncLazy`1.cs:line 369
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.CreateSkeletonReferenceSetAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 215
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.TryGetOrCreateReferenceSetAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, VersionStamp version, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 178
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.GetOrBuildReferenceAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, MetadataReferenceProperties properties, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 150
      at Microsoft.CodeAnalysis.SolutionCompilationState.GetMetadataReferenceAsync(ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, Boolean includeCrossLanguage, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.cs:line 1310
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationWorkerAsync|4>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 537
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationAsync|3>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 455
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__BuildFinalStateAsync|0>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 305
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetOrBuildFinalStateAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 267
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetCompilationSlowAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 238
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.CreateSkeletonReferenceSetAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 203
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.TryGetOrCreateReferenceSetAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, VersionStamp version, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 178
      at Microsoft.CodeAnalysis.SolutionCompilationState.SkeletonReferenceCache.GetOrBuildReferenceAsync(ICompilationTracker compilationTracker, SolutionCompilationState compilationState, MetadataReferenceProperties properties, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs:line 150
      at Microsoft.CodeAnalysis.SolutionCompilationState.GetMetadataReferenceAsync(ICompilationTracker tracker, ProjectState fromProject, ProjectReference projectReference, Boolean includeCrossLanguage, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.cs:line 1310
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationWorkerAsync|4>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 537
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__FinalizeCompilationAsync|3>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 455
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.<>c__DisplayClass25_0.<<GetOrBuildFinalStateAsync>g__BuildFinalStateAsync|0>d.MoveNext() in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 305
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetOrBuildFinalStateAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 267
      at Microsoft.CodeAnalysis.SolutionCompilationState.RegularCompilationTracker.GetCompilationSlowAsync(SolutionCompilationState compilationState, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Core\Portable\Workspace\Solution\SolutionCompilationState.RegularCompilationTracker.cs:line 238
      at Microsoft.CodeAnalysis.SemanticSearch.QueryExecutionContext.<>c__DisplayClass18_0.<<InvokeAsync>b__0>d.MoveNext() in E:\R1\src\Features\Core\Portable\SemanticSearch\QueryExecutionContext.cs:line 61
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SemanticSearch.QueryExecutionContext.<>c__DisplayClass18_0.<<InvokeAsync>b__0>d.MoveNext() in E:\R1\src\Features\Core\Portable\SemanticSearch\QueryExecutionContext.cs:line 116
   --- End of stack trace from previous location ---
      at System.Threading.Tasks.Parallel.<>c__53`1.<<ForEachAsync>b__53_0>d.MoveNext()
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.SemanticSearch.QueryExecutionContext.InvokeAsync(Solution solution, QueryKind queryKind, CancellationToken cancellationToken) in E:\R1\src\Features\Core\Portable\SemanticSearch\QueryExecutionContext.cs:line 57
      at Microsoft.CodeAnalysis.SemanticSearch.AbstractSemanticSearchService.ExecuteQueryAsync(Solution solution, CompiledQueryId queryId, ISemanticSearchResultsObserver observer, OptionsProvider`1 classificationOptions, TraceSource traceSource, CancellationToken cancellationToken) in E:\R1\src\Features\Core\Portable\SemanticSearch\AbstractSemanticSearchService.cs:line 185
      at Microsoft.CodeAnalysis.SemanticSearch.AbstractSemanticSearchService.ExecuteQueryAsync(Solution solution, CompiledQueryId queryId, ISemanticSearchResultsObserver observer, OptionsProvider`1 classificationOptions, TraceSource traceSource, CancellationToken cancellationToken) in E:\R1\src\Features\Core\Portable\SemanticSearch\AbstractSemanticSearchService.cs:line 207
      at Microsoft.CodeAnalysis.Remote.RemoteSemanticSearchService.<>c__DisplayClass6_0.<<ExecuteQueryAsync>b__0>d.MoveNext() in E:\R1\src\Workspaces\Remote\ServiceHub\Services\SemanticSearch\RemoteSemanticSearchService.cs:line 101
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.<>c__DisplayClass7_0`1.<<RunWithSolutionAsync>g__ProcessSolutionAsync|1>d.MoveNext() in E:\R1\src\Workspaces\Remote\ServiceHub\Host\RemoteWorkspace.cs:line 162
   --- End of stack trace from previous location ---
      at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.RunWithSolutionAsync[T](AssetProvider assetProvider, Checksum solutionChecksum, Boolean updatePrimaryBranch, Func`2 implementation, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Remote\ServiceHub\Host\RemoteWorkspace.cs:line 102
      at Microsoft.CodeAnalysis.Remote.RemoteWorkspace.RunWithSolutionAsync[T](AssetProvider assetProvider, Checksum solutionChecksum, Boolean updatePrimaryBranch, Func`2 implementation, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Remote\ServiceHub\Host\RemoteWorkspace.cs:line 113
      at Microsoft.CodeAnalysis.Remote.BrokeredServiceBase.RunWithSolutionAsync[T](Checksum solutionChecksum, Func`2 implementation, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Remote\ServiceHub\Services\BrokeredServiceBase.cs:line 91
      at Microsoft.CodeAnalysis.Remote.BrokeredServiceBase.RunServiceImplAsync[T](Func`2 implementation, CancellationToken cancellationToken) in E:\R1\src\Workspaces\Remote\ServiceHub\Services\BrokeredServiceBase.cs:line 116

For debugging, attach to ServiceHub.Roslyn... process

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions