dotnet / roslyn

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
MIT License
18.88k stars 4.01k forks source link

Assertion failed: in CodeModel.CSharpCodeModelService.CodeModelEventCollector #24357

Open tmat opened 6 years ago

tmat commented 6 years ago

Version Used:

Private build.

---------------------------
Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue
---------------------------
Unknown kind: TupleType
   at Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareTypes(TypeSyntax oldType, TypeSyntax newType) in C:\R0\src\VisualStudio\CSharp\Impl\CodeModel\CSharpCodeModelService.CodeModelEventCollector.cs:line 828

   at Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareNames(NameSyntax oldName, NameSyntax newName) in C:\R0\src\VisualStudio\CSharp\Impl\CodeModel\CSharpCodeModelService.CodeModelEventCollector.cs:line 758

   at Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareTypes(TypeSyntax oldType, TypeSyntax newType) in C:\R0\src\VisualStudio\CSharp\Impl\CodeModel\CSharpCodeModelService.CodeModelEventCollector.cs:line 825

   at Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareMethodDeclarations(BaseMethodDeclarationSyntax oldMethod, BaseMe......

<truncated>
---------------------------
Abort   Retry   Ignore   
---------------------------

Memory dump: %internal_share%\public\tomat\Bugs\Roslyn24357

tmat commented 4 years ago

Hit this again:

>   Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareTypes(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax oldType, Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax newType) Line 823  C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareNames(Microsoft.CodeAnalysis.CSharp.Syntax.NameSyntax oldName, Microsoft.CodeAnalysis.CSharp.Syntax.NameSyntax newName) Line 753  C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareTypes(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax oldType, Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax newType) Line 820  C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareParameters(Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax oldParameter, Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax newParameter, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 217   C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.FindDifferentChild<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType codeModelEventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 153 C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.CompareChildren<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.ParameterSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType eventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 64  C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareMethodDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax oldMethod, Microsoft.CodeAnalysis.CSharp.Syntax.BaseMethodDeclarationSyntax newMethod, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 458 C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareMemberDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax oldMember, Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax newMember, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 251 C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.FindDifferentChild<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType codeModelEventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 165   C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.CompareChildren<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.BaseTypeDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType eventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 64    C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareTypeDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax oldMember, Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax newMember, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 577   C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareNamespacesOrTypes(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax oldNamespaceOrType, Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax newNamespaceOrType, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 667    C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.FindDifferentChild<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType codeModelEventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 153    C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.CompareChildren<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType eventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 64 C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareNamespaceDeclarations(Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax oldNamespace, Microsoft.CodeAnalysis.CSharp.Syntax.NamespaceDeclarationSyntax newNamespace, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 498  C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareNamespacesOrTypes(Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax oldNamespaceOrType, Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax newNamespaceOrType, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 671    C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.FindDifferentChild<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.SyntaxNode>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.SyntaxNode> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType codeModelEventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 153  C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.CompareChildren<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.SyntaxNode>(Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.NodeComparison<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.SyntaxNode> compare, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> oldChildren, System.Collections.Generic.IReadOnlyList<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> newChildren, Microsoft.CodeAnalysis.SyntaxNode newNodeParent, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventType eventType, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 64   C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CompareCompilationUnits(Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax oldCompilationUnit, Microsoft.CodeAnalysis.CSharp.Syntax.CompilationUnitSyntax newCompilationUnit, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 48   C#
    Microsoft.VisualStudio.LanguageServices.CSharp.dll!Microsoft.VisualStudio.LanguageServices.CSharp.CodeModel.CSharpCodeModelService.CodeModelEventCollector.CollectCore(Microsoft.CodeAnalysis.SyntaxNode oldRoot, Microsoft.CodeAnalysis.SyntaxNode newRoot, Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.CodeModelEventQueue eventQueue) Line 844  C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.AbstractCodeModelEventCollector.Collect(Microsoft.CodeAnalysis.SyntaxTree oldTree, Microsoft.CodeAnalysis.SyntaxTree newTree) Line 36  C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.AbstractCodeModelService.CollectCodeModelEvents(Microsoft.CodeAnalysis.SyntaxTree oldTree, Microsoft.CodeAnalysis.SyntaxTree newTree) Line 1266 C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.FileCodeModel.FireEvents() Line 54  C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.ProjectCodeModelFactory.ProcessNextDocumentBatchAsync.__FireEventsForDocument|10_0(Microsoft.CodeAnalysis.DocumentId documentId) Line 121   C#
    Microsoft.VisualStudio.LanguageServices.Implementation.dll!Microsoft.VisualStudio.LanguageServices.Implementation.CodeModel.ProjectCodeModelFactory.ProcessNextDocumentBatchAsync.AnonymousMethod__1() Line 96  C#
    Microsoft.CodeAnalysis.EditorFeatures.dll!Microsoft.CodeAnalysis.Editor.Implementation.ForegroundNotification.ForegroundNotificationService.NotifyOnForegroundWorker() Line 155 C#
    Microsoft.CodeAnalysis.EditorFeatures.dll!Microsoft.CodeAnalysis.Editor.Implementation.ForegroundNotification.ForegroundNotificationService.NotifyOnForeground() Line 127   C#
    Microsoft.CodeAnalysis.EditorFeatures.dll!Microsoft.CodeAnalysis.Editor.Shared.Utilities.ForegroundThreadAffinitizedObject.InvokeBelowInputPriorityAsync.AnonymousMethod__0() Line 89   C#