Assertion failed when running "Remove unnecessary imports"
- Dominant language
- C#
- Stars
- 20.7k
- Forks
- 4.3k
- PR merge metrics
- PR metrics pending
Description
on Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests project (i.e. applying the code fix to the entire project)
```
---------------------------
Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue
---------------------------
at Microsoft.CodeAnalysis.FindUsages.DefinitionItemFactory.GetMetadataLocations(ISymbol definition, Solution solution, ProjectId& originatingProjectId) in C:\dotnet-roslyn\src\Features\Core\Portable\FindUsages\DefinitionItemFactory.cs:line 211
at Microsoft.CodeAnalysis.FindUsages.DefinitionItemFactory.ToDefinitionItem(ISymbol definition, ImmutableArray`1 sourceLocations, ImmutableArray`1 classifiedSpans, Solution solution, FindReferencesSearchOptions options, Boolean isPrimary) in C:\dotnet-roslyn\src\Features\Core\Portable\FindUsages\DefinitionItemFactory.cs:line 122
at Microsoft.CodeAnalysis.FindUsages.DefinitionItemFactory.ToNonClassifiedDefinitionItem(ISymbol definition, ImmutableArray`1 locations, Solution solution, FindReferencesSearchOptions options, Boolean isPrimary, Boolean includeHiddenLocations) in C:\dotnet-roslyn\src\Features\Core\Portable\FindUsages\DefinitionItemFactory.cs:line 51
at Microsoft.CodeAnalysis.FindUsages.DefinitionItemFactory.ToNonClassifiedDefinitionItem(ISymbol definition, Solution solution, FindReferencesSearchOptions options, Boolean includeHiddenLocations) in C:\dotnet-roslyn\src\Features\Core\Portable\FindUsages\DefinitionItemFactory.cs:line 39
at Microsoft.CodeAnalysis.FindUsages.DefinitionItemFactory.ToNonClassifiedDefinitionItem(ISymbol definition, Solution solution, Boolean includeHiddenLocations) in C:\dotnet-roslyn\src\Features\Core\Portable\FindUsages\DefinitionItemFactory.cs:line 32
at Microsoft.CodeAnalysis.GoToDefinition.GoToDefinitionFeatureHelpers.d__1.MoveNext() in C:\dotnet-roslyn\src\Features\Core\Portable\GoToDefinition\GoToDefinitionFeatureHelpers.cs:line 94
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.CodeAnalysis.GoToDefinition.GoToDefinitionFeatureHelpers.GetDefinitionsAsync(ISymbol symbol, Solution solution, Boolean thirdPartyNavigationAllowed, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.<>c__DisplayClass4_0.<g__GetSymbolLocationAsync|2>d.MoveNext() in C:\dotnet-roslyn\src\EditorFeatures\Core\Navigation\AbstractDefinitionLocationService.cs:line 92
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.<>c__DisplayClass4_0.g__GetSymbolLocationAsync|2(Document document, SemanticModel semanticModel)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.<>c__DisplayClass4_0.<g__GetDefinitionLocationWorkerAsync|0>d.MoveNext() in C:\dotnet-roslyn\src\EditorFeatures\Core\Navigation\AbstractDefinitionLocationService.cs:line 55
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.<>c__DisplayClass4_0.g__GetDefinitionLocationWorkerAsync|0(Document document)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.d__4.MoveNext() in C:\dotnet-roslyn\src\EditorFeatures\Core\Navigation\AbstractDefinitionLocationService.cs:line 48
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.CodeAnalysis.Navigation.AbstractDefinitionLocationService.GetDefinitionLocationAsync(Document document, Int32 position, CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Editor.NavigableSymbols.NavigableSymbolService.NavigableSymbolSource.d__5.MoveNext() in C:\dotnet-roslyn\src\EditorFeatures\Core\NavigableSymbols\NavigableSymbolService.NavigableSymbolSource.cs:line 44
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.CodeAnalysis.Editor.NavigableSymbols.NavigableSymbolService.NavigableSymbolSource.GetNavigableSymbolAsync(SnapshotSpan triggerSpan, CancellationToken cancellationToken)
at Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.<>c__DisplayClass34_1.b__0()
at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.d__41`1.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.VisualStudio.Text.Utilities.GuardedOperations.CallExtensionPointAsync[T](Object errorSource, Func`1 asyncCall, T valueOnThrow)
at Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.d__34.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
at Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.QueryNavigableSymbolAsync(IReadOnlyList`1 sources, SnapshotSpan triggerSpan, CancellationToken token)
at Microsoft.VisualStudio.Language.Intellisense.Implementation.GoToDefMouseHandler.d__32.MoveNext()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
---------------------------
Abort Retry Ignore
---------------------------
```
Contributor guide
Research direction
Reproduce the assertion by applying "Remove unnecessary imports" to the Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests project. Start with Features/Core/Portable/FindUsages/DefinitionItemFactory.cs at line 211, then trace the navigation path through GoToDefinitionFeatureHelpers.cs and AbstractDefinitionLocationService.cs. Done means the code fix completes without triggering the assertion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100