dotnet / dotnet/roslyn

Assertion failed when running "Remove unnecessary imports"

Open
#78,795 0 comments 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

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.