dotnet / dotnet/roslyn

Assertion failed: Unhandled declaration pattern context

Open
#82,162 1 comment 0 reactions 0 assignees View on GitHub
Area-IDE
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

**Version Used**:
Roslyn @ 8b77cf29e61476ce184687949c3c6bba3d33dcc0

**Steps to Reproduce**:
1. Point the C# extension to use a locally built Debug version of Roslyn at the above commit. See https://github.com/dotnet/vscode-csharp/blob/main/CONTRIBUTING.md#configuring-local-language-servers
2. Open Roslyn.slnx in vscode (C#+C#DK) using the configuration above, set background analysis to full solution. See https://github.com/dotnet/vscode-csharp/blob/main/SUPPORT.md#diagnostics-problems
3. Wait for the server to crash

It may crash at a different assertion. I've captured a dump of this stack here - https://onedrive.cloud.microsoft/:u:/a@ah78s6cf/S/IQDLkT2B0UN2Sq4QH2ylG1ArAV5bxXDsTDAhKAGRXAsS10Q?e=aBo0ab (internal, windows)

**Expected Behavior**:

No assertion

**Actual Behavior**:

```
2026-01-26 16:42:00.480 [error] [stderr] Process terminated.
Assertion failed.
Unhandled declaration pattern context
at Microsoft.CodeAnalysis.OperationExtensions.GetValueUsageInfo(IOperation operation, ISymbol containingSymbol) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\OperationExtensions.cs:line 119
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Walker.OnReferenceFound(ISymbol symbol, IOperation operation) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs:line 111
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Walker.VisitDeclarationPattern(IDeclarationPatternOperation operation) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs:line 295
at Microsoft.CodeAnalysis.Operations.DeclarationPatternOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 8625
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.Operations.OperationWalker.VisitChildOperations(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 19
at Microsoft.CodeAnalysis.Operations.OperationWalker.DefaultVisit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 42
at Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitListPattern(IListPatternOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 11615
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Walker.VisitListPattern(IListPatternOperation operation) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs:line 311
at Microsoft.CodeAnalysis.Operations.ListPatternOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 10451
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.Operations.OperationWalker.VisitChildOperations(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 19
at Microsoft.CodeAnalysis.Operations.OperationWalker.DefaultVisit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 42
at Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitNegatedPattern(INegatedPatternOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 11605
at Microsoft.CodeAnalysis.Operations.NegatedPatternOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 9922
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.Operations.OperationWalker.VisitChildOperations(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 19
at Microsoft.CodeAnalysis.Operations.OperationWalker.DefaultVisit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 42
at Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitIsPattern(IIsPatternOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 11555
at Microsoft.CodeAnalysis.Operations.IsPatternOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 7289
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.Operations.OperationWalker.VisitChildOperations(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 19
at Microsoft.CodeAnalysis.Operations.OperationWalker.DefaultVisit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 42
at Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitConditional(IConditionalOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 11522
at Microsoft.CodeAnalysis.Operations.ConditionalOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 5830
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.Operations.OperationWalker.VisitChildOperations(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 19
at Microsoft.CodeAnalysis.Operations.OperationWalker.DefaultVisit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 42
at Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitBlock(IBlockOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 11491
at Microsoft.CodeAnalysis.Operations.BlockOperation.Accept(OperationVisitor visitor) in Q:\src\roslyn\src\Compilers\Core\Portable\Generated\Operations.Generated.cs:line 4091
at Microsoft.CodeAnalysis.Operations.OperationWalker.Visit(IOperation operation) in Q:\src\roslyn\src\Compilers\Core\Portable\Operations\OperationWalker.cs:line 31
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Walker.Visit(ISymbol containingSymbol, IEnumerable`1 operations, AnalysisData analysisData, CancellationToken cancellationToken) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs:line 70
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Walker.AnalyzeOperationsAndUpdateData(ISymbol containingSymbol, IEnumerable`1 operations, AnalysisData analysisData, CancellationToken cancellationToken) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs:line 43
at Microsoft.CodeAnalysis.FlowAnalysis.SymbolUsageAnalysis.SymbolUsageAnalysis.Run(IOperation rootOperation, ISymbol owningSymbol, CancellationToken cancellationToken) in Q:\src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.cs:line 39
at Microsoft.CodeAnalysis.RemoveUnusedParametersAndValues.AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.AnalyzeUnusedValueAssignments(OperationBlockAnalysisContext context, Boolean isComputingUnusedParams, PooledHashSet`1 symbolUsageResultsBuilder, Boolean& hasBlockWithAllUsedSymbolWrites, Boolean& hasUnknownOperationNoneDescendant) in Q:\src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs:line 505
at Microsoft.CodeAnalysis.RemoveUnusedParametersAndValues.AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.AnalyzeOperationBlockEnd(OperationBlockAnalysisContext context) in Q:\src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs:line 473
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c.b__59_4(ValueTuple`2 data) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1007
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock[TArg](DiagnosticAnalyzer analyzer, Action`1 analyze, TArg argument, Nullable`1 info, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1338
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows[TArg](DiagnosticAnalyzer analyzer, Action`1 analyze, TArg argument, Nullable`1 contextInfo, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1319
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c.b__59_2(HashSet`1 blockActions, AnalyzerDiagnosticReporter diagReporter, Func`3 isSupportedDiagnostic, ExecutionData executionData, ValueTuple`6 args, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1005
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteBlockActionsCore[TBlockStartAction,TBlockAction,TArgs](ImmutableArray`1 startActions, ImmutableArray`1 actions, ImmutableArray`1 endActions, SyntaxNode declaredNode, ExecutionData executionData, Action`5 addActions, Action`5 executeActions, Action`6 executeBlockActions, TArgs argument, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1072
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteOperationBlockActions(ImmutableArray`1 startActions, ImmutableArray`1 actions, ImmutableArray`1 endActions, DiagnosticAnalyzer analyzer, SyntaxNode declaredNode, ISymbol declaredSymbol, ImmutableArray`1 operationBlocks, ImmutableArray`1 operations, SemanticModel semanticModel, Nullable`1 filterSpan, Boolean isGeneratedCode, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 958
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1.<>c__DisplayClass11_0.g__executeOperationsBlockActions|6(ImmutableArray`1 operationBlocksToAnalyze, ImmutableArray`1 operationsToAnalyze, ArrayBuilder`1 codeBlockActions) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2821
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1.<>c__DisplayClass11_0.g__executeExecutableCodeActions|2() in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2727
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1.ExecuteDeclaringReferenceActions(SyntaxReference decl, SymbolDeclaredCompilationEvent symbolEvent, AnalysisScope analysisScope, GroupedAnalyzerActions coreActions, GroupedAnalyzerActions additionalPerSymbolActions, Boolean shouldExecuteSyntaxNodeActions, Boolean shouldExecuteOperationActions, Boolean shouldExecuteCodeBlockActions, Boolean shouldExecuteOperationBlockActions, Boolean isInGeneratedCode, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2610
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver`1.ExecuteDeclaringReferenceActions(SymbolDeclaredCompilationEvent symbolEvent, AnalysisScope analysisScope, Boolean isGeneratedCodeSymbol, IGroupedAnalyzerActions additionalPerSymbolActions, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2544
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessSymbolDeclaredAsync(SymbolDeclaredCompilationEvent symbolEvent, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1783
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessSymbolDeclaredAsync(SymbolDeclaredCompilationEvent symbolEvent, AnalysisScope analysisScope, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessEventCoreAsync(CompilationEvent compilationEvent, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1735
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessEventCoreAsync(CompilationEvent compilationEvent, AnalysisScope analysisScope, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.ProcessEventAsync(CompilationEvent e, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1646
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.ProcessEventAsync(CompilationEvent e, AnalysisScope analysisScope, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.ProcessCompilationEventsCoreAsync(AnalysisScope analysisScope, Boolean prePopulatedEventQueue, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1633
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.SetResult()
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.ProcessEventAsync(CompilationEvent e, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1664
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessEventCoreAsync(CompilationEvent compilationEvent, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1752
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.TryProcessSymbolDeclaredAsync(SymbolDeclaredCompilationEvent symbolEvent, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 1794
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.GetPerSymbolAnalyzerActionsAsync(ISymbol symbol, AnalysisScope analysisScope, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2147
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.GetPerSymbolAnalyzerActionsAsync(ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree filterTree, Nullable`1 filterSpan, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2237
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.g__getAllActionsAsync|154_0(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree filterTree, Nullable`1 filterSpan, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2196
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerDriver.g__getSymbolActionsCoreAsync|154_2(AnalyzerDriver driver, ISymbol symbol, DiagnosticAnalyzer analyzer, SyntaxTree filterTree, Nullable`1 filterSpan, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerDriver.cs:line 2236
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Threading.Tasks.Task`1.TrySetResult(TResult result)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetExistingTaskResult(Task`1 task, TResult result)
at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager.GetPerSymbolAnalyzerActionsAsync(ISymbol symbol, Boolean isGeneratedCodeSymbol, SyntaxTree filterTree, Nullable`1 filterSpan, DiagnosticAnalyzer analyzer, AnalyzerExecutor analyzerExecutor, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerManager.cs:line 230
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager.GetSymbolAnalysisScopeAsync(ISymbol symbol, Boolean isGeneratedCodeSymbol, SyntaxTree filterTree, Nullable`1 filterSpan, DiagnosticAnalyzer analyzer, ImmutableArray`1 symbolStartActions, AnalyzerExecutor analyzerExecutor, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerManager.cs:line 104
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.SetResult(TResult result)
at Microsoft.CodeAnalysis.Diagnostics.AnalyzerManager.GetSymbolAnalysisScopeCoreAsync(ISymbol symbol, Boolean isGeneratedCodeSymbol, SyntaxTree filterTree, Nullable`1 filterSpan, ImmutableArray`1 symbolStartActions, AnalyzerExecutor analyzerExecutor, AnalyzerExecutionContext analyzerExecutionContext, CancellationToken cancellationToken) in Q:\src\roslyn\src\Compilers\Core\Portable\DiagnosticAnalyzer\AnalyzerManager.cs:line 129
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining)
at System.Threading.Tasks.Task.RunContinuations(Object continuationObject)
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()
```

Contributor guide

Open the contributing guide

Research direction

Build Roslyn at commit 8b77cf29e61476ce184687949c3c6bba3d33dcc0 and configure the C# extension as described in CONTRIBUTING.md. Open Roslyn.slnx with full-solution background analysis and inspect OperationExtensions.cs and SymbolUsageAnalysis.Walker.cs when the assertion occurs. Done means the server no longer terminates with the unhandled declaration pattern context assertion.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, vscode
Domain
compilers, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.