Skip to content

Find-all-references fails on SyntaxTree in VSCode #76367

@333fred

Description

@333fred

Version Used: 4.13.0-3.24577.4 (6cc106c), C# ext version v2.59.14 (pre-release)

Steps to Reproduce:

  1. Open src/Compilers/Core/Portable/Syntax/SyntaxTree.cs
  2. Invoke Find-All-References on the SyntaxTree identifier

Expected Behavior:

References are found.

Actual Behavior:

2024-12-10 17:56:31.700 [info] [Error - 5:56:31 PM] Request textDocument/references failed.
2024-12-10 17:56:31.700 [info]   Message: Object reference not set to an instance of an object.
  Code: -32000 
[object Object]
2024-12-10 17:57:08.113 [info] [Error - 5:57:08 PM] [LanguageServerHost] System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.CodeAnalysis.ChildSyntaxList.CountNodes(GreenNode green) in /_/src/Compilers/Core/Portable/Syntax/ChildSyntaxList.cs:line 42
   at Microsoft.CodeAnalysis.SyntaxNode.DescendantNodesAndTokensIntoTrivia(TextSpan span, Func`2 descendIntoChildren, Boolean includeSelf)+MoveNext()
   at Microsoft.CodeAnalysis.FindSymbols.SyntaxTreeIndex.CreateIndex(ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken _) in /_/src/Workspaces/Core/Portable/FindSymbols/SyntaxTree/SyntaxTreeIndex_Create.cs:line 84
   at Microsoft.CodeAnalysis.FindSymbols.AbstractSyntaxIndex`1.CreateIndexAsync(ProjectState project, DocumentState document, Checksum textChecksum, Checksum textAndDirectivesChecksum, IndexCreator create, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/Shared/AbstractSyntaxIndex.cs:line 142
   at Microsoft.CodeAnalysis.FindSymbols.AbstractSyntaxIndex`1.GetIndexWorkerAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, Boolean loadOnly, IndexReader read, IndexCreator create, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.FindSymbols.AbstractSyntaxIndex`1.GetIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, Boolean loadOnly, IndexReader read, IndexCreator create, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.FindSymbols.AbstractSyntaxIndex`1.GetRequiredIndexAsync(SolutionKey solutionKey, ProjectState project, DocumentState document, IndexReader read, IndexCreator create, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.FindSymbols.Finders.AbstractReferenceFinder`1.GetAllMatchingGlobalAliasNamesAsync(Project project, String name, Int32 arity, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/AbstractReferenceFinder.cs:line 875
   at Microsoft.CodeAnalysis.FindSymbols.Finders.AbstractReferenceFinder`1.GetAllMatchingGlobalAliasNamesAsync(Project project, String name, Int32 arity, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/Finders/AbstractReferenceFinder.cs:line 873
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.AddGlobalAliasesAsync(Project project, ImmutableArray`1 allSymbols, PooledDictionary`2 symbolToGlobalAliases, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 352
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.ProcessProjectAsync(Project project, ImmutableArray`1 allSymbols, Action`1 onReferenceFound, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 226
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.ProcessProjectAsync(Project project, ImmutableArray`1 allSymbols, Action`1 onReferenceFound, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 266
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.<>c__DisplayClass13_0.<<PerformSearchAsync>b__0>d.MoveNext() in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 122
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__57`1.<<ForEachAsync>b__57_0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.PerformSearchAsync(ImmutableArray`1 symbols, Action`1 onReferenceFound, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 117
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.PerformSearchAsync(ImmutableArray`1 symbols, Action`1 onReferenceFound, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 117
   at Microsoft.CodeAnalysis.Shared.Utilities.ProducerConsumer`1.<>c__DisplayClass12_0`2.<<RunChannelAsync>g__ProduceItemsAndWriteToChannelAsync|2>d.MoveNext() in /_/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ProducerConsumer.cs:line 322
--- End of stack trace from previous location ---
   at Microsoft.CodeAnalysis.Shared.Utilities.ProducerConsumer`1.RunChannelAsync[TArgs,TResult](ProducerConsumerOptions options, Func`4 produceItems, Func`4 consumeItems, TArgs args, CancellationToken cancellationToken) in /_/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Utilities/ProducerConsumer.cs:line 301
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.FindReferencesAsync(ImmutableArray`1 symbols, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 69
   at Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine.FindReferencesAsync(ImmutableArray`1 symbols, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/FindReferences/FindReferencesSearchEngine.cs:line 78
   at Microsoft.CodeAnalysis.FindSymbols.SymbolFinder.FindReferencesAsync(ISymbol symbol, Solution solution, IStreamingFindReferencesProgress progress, IImmutableSet`1 documents, FindReferencesSearchOptions options, CancellationToken cancellationToken) in /_/src/Workspaces/Core/Portable/FindSymbols/SymbolFinder_FindReferences_Current.cs:line 64
   at Microsoft.CodeAnalysis.FindUsages.AbstractFindUsagesService.FindReferencesAsync(IFindUsagesContext context, ISymbol symbol, Project project, FindReferencesSearchOptions searchOptions, OptionsProvider`1 classificationOptions, CancellationToken cancellationToken) in /_/src/Features/Core/Portable/FindUsages/AbstractFindUsagesService_FindReferences.cs:line 151
   at Microsoft.CodeAnalysis.FindUsages.AbstractFindUsagesService.FindSymbolReferencesAsync(IFindUsagesContext context, ISymbol symbol, Project project, OptionsProvider`1 classificationOptions, CancellationToken cancellationToken) in /_/src/Features/Core/Portable/FindUsages/AbstractFindUsagesService_FindReferences.cs:line 121
   at Microsoft.CodeAnalysis.FindUsages.AbstractFindUsagesService.FindSymbolReferencesAsync(IFindUsagesContext context, Document document, Int32 position, OptionsProvider`1 classificationOptions, CancellationToken cancellationToken) in /_/src/Features/Core/Portable/FindUsages/AbstractFindUsagesService_FindReferences.cs:line 99
   at Microsoft.CodeAnalysis.FindUsages.AbstractFindUsagesService.FindLiteralOrSymbolReferencesAsync(IFindUsagesContext context, Document document, Int32 position, OptionsProvider`1 classificationOptions, CancellationToken cancellationToken) in /_/src/Features/Core/Portable/FindUsages/AbstractFindUsagesService_FindReferences.cs:line 61
   at Microsoft.CodeAnalysis.LanguageServer.Handler.FindAllReferencesHandler.FindReferencesAsync(IProgress`1 progress, Workspace workspace, Document document, LinePosition linePosition, Boolean supportsVSExtensions, IGlobalOptionService globalOptions, IMetadataAsSourceFileService metadataAsSourceFileService, IAsynchronousOperationListener asyncListener, CancellationToken cancellationToken) in /_/src/LanguageServer/Protocol/Handler/References/FindAllReferencesHandler.cs:line 88
   at Microsoft.CodeAnalysis.LanguageServer.Handler.FindAllReferencesHandler.HandleRequestAsync(VSInternalReferenceParams referenceParams, RequestContext context, CancellationToken cancellationToken) in /_/src/LanguageServer/Protocol/Handler/References/FindAllReferencesHandler.cs:line 64
   at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem`1.StartRequestAsync[TRequest,TResponse](TRequest request, TRequestContext context, IMethodHandler handler, String language, CancellationToken cancellationToken)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions