{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/21194","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/21194/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/21194/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/21194/events","html_url":"https://github.com/dotnet/roslyn/issues/21194","id":246421054,"number":21194,"title":"StackOverflowException during attribute binding","user":{"login":"amcasey","id":10508071,"avatar_url":"https://avatars2.githubusercontent.com/u/10508071?v=4","gravatar_id":"","url":"https://api.github.com/users/amcasey","html_url":"https://github.com/amcasey","followers_url":"https://api.github.com/users/amcasey/followers","following_url":"https://api.github.com/users/amcasey/following{/other_user}","gists_url":"https://api.github.com/users/amcasey/gists{/gist_id}","starred_url":"https://api.github.com/users/amcasey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amcasey/subscriptions","organizations_url":"https://api.github.com/users/amcasey/orgs","repos_url":"https://api.github.com/users/amcasey/repos","events_url":"https://api.github.com/users/amcasey/events{/privacy}","received_events_url":"https://api.github.com/users/amcasey/received_events","type":"User","site_admin":false},"labels":[{"id":167974280,"url":"https://api.github.com/repos/dotnet/roslyn/labels/4%20-%20In%20Review","name":"4 - In Review","color":"CCCCCC","default":false},{"id":166673288,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-Compilers","name":"Area-Compilers","color":"5319e7","default":false},{"id":165001069,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Bug","name":"Bug","color":"fc2929","default":false}],"state":"closed","locked":false,"assignee":{"login":"jcouv","id":12466233,"avatar_url":"https://avatars2.githubusercontent.com/u/12466233?v=4","gravatar_id":"","url":"https://api.github.com/users/jcouv","html_url":"https://github.com/jcouv","followers_url":"https://api.github.com/users/jcouv/followers","following_url":"https://api.github.com/users/jcouv/following{/other_user}","gists_url":"https://api.github.com/users/jcouv/gists{/gist_id}","starred_url":"https://api.github.com/users/jcouv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcouv/subscriptions","organizations_url":"https://api.github.com/users/jcouv/orgs","repos_url":"https://api.github.com/users/jcouv/repos","events_url":"https://api.github.com/users/jcouv/events{/privacy}","received_events_url":"https://api.github.com/users/jcouv/received_events","type":"User","site_admin":false},"assignees":[{"login":"jcouv","id":12466233,"avatar_url":"https://avatars2.githubusercontent.com/u/12466233?v=4","gravatar_id":"","url":"https://api.github.com/users/jcouv","html_url":"https://github.com/jcouv","followers_url":"https://api.github.com/users/jcouv/followers","following_url":"https://api.github.com/users/jcouv/following{/other_user}","gists_url":"https://api.github.com/users/jcouv/gists{/gist_id}","starred_url":"https://api.github.com/users/jcouv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcouv/subscriptions","organizations_url":"https://api.github.com/users/jcouv/orgs","repos_url":"https://api.github.com/users/jcouv/repos","events_url":"https://api.github.com/users/jcouv/events{/privacy}","received_events_url":"https://api.github.com/users/jcouv/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/29","html_url":"https://github.com/dotnet/roslyn/milestone/29","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/29/labels","id":2377970,"number":29,"title":"15.6","description":"","creator":{"login":"jaredpar","id":146967,"avatar_url":"https://avatars0.githubusercontent.com/u/146967?v=4","gravatar_id":"","url":"https://api.github.com/users/jaredpar","html_url":"https://github.com/jaredpar","followers_url":"https://api.github.com/users/jaredpar/followers","following_url":"https://api.github.com/users/jaredpar/following{/other_user}","gists_url":"https://api.github.com/users/jaredpar/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredpar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredpar/subscriptions","organizations_url":"https://api.github.com/users/jaredpar/orgs","repos_url":"https://api.github.com/users/jaredpar/repos","events_url":"https://api.github.com/users/jaredpar/events{/privacy}","received_events_url":"https://api.github.com/users/jaredpar/received_events","type":"User","site_admin":false},"open_issues":293,"closed_issues":359,"state":"open","created_at":"2017-03-10T17:35:36Z","updated_at":"2017-12-12T22:06:57Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2017-07-28T18:12:26Z","updated_at":"2017-12-12T22:07:25Z","closed_at":"2017-12-12T22:06:57Z","author_association":"MEMBER","body":"The cycle is\r\n```\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbol.LoadAndValidateAttributes(Roslyn.Utilities.OneOrMany<Microsoft.CodeAnalysis.SyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax>> attributesSyntaxLists, ref Microsoft.CodeAnalysis.CustomAttributesBag<Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData> lazyCustomAttributesBag, Microsoft.CodeAnalysis.CSharp.Symbols.AttributeLocation symbolPart, bool earlyDecodingOnly, Microsoft.CodeAnalysis.DiagnosticBag addToDiagnostics, Microsoft.CodeAnalysis.CSharp.Binder binderOpt) Line 300\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol.EnsureAttributesAreBound() Line 1468 + 0x5d bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol.GetSourceDecodedWellKnownAttributeData() Line 1549 + 0x7 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol.TryLookupForwardedMetadataTypeWithCycleDetection(ref Microsoft.CodeAnalysis.MetadataTypeName emittedName, Roslyn.Utilities.ConsList<Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol> visitedAssemblies) Line 2541 + 0x8 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.NonMissingAssemblySymbol.LookupTopLevelMetadataTypeWithCycleDetection(ref Microsoft.CodeAnalysis.MetadataTypeName emittedName, Roslyn.Utilities.ConsList<Microsoft.CodeAnalysis.CSharp.Symbols.AssemblySymbol> visitedAssemblies, bool digThroughForwardedTypes) Line 157\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder.LookupTopLevelTypeDefSymbol(int referencedAssemblyIndex, ref Microsoft.CodeAnalysis.MetadataTypeName emittedName) Line 131 + 0x24 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon>.GetTypeByNameOrThrow(ref Microsoft.CodeAnalysis.MetadataTypeName fullName, System.Reflection.Metadata.EntityHandle tokenResolutionScope, out bool isNoPiaLocalType) Line 511 + 0x2e bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.Symbol>.GetTypeOfTypeRef(System.Reflection.Metadata.TypeReferenceHandle typeRef, out bool isNoPiaLocalType) Line 464 + 0x11 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon>.GetSymbolForTypeHandleOrThrow(System.Reflection.Metadata.EntityHandle handle, out bool isNoPiaLocalType, bool allowTypeSpec, bool requireShortForm) Line 436 + 0x1b bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon>.DecodeTypeOrThrow(ref System.Reflection.Metadata.BlobReader ppSig, System.Reflection.Metadata.SignatureTypeCode typeCode, out bool refersToNoPiaLocalType) Line 325 + 0x21 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<System.__Canon,System.__Canon,System.__Canon,System.__Canon,System.__Canon>.DecodeParameterOrThrow(ref System.Reflection.Metadata.BlobReader signatureReader, ref Microsoft.CodeAnalysis.ParamInfo<System.__Canon> info) Line 1108 + 0x12 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.Symbol>.DecodeSignatureParametersOrThrow(ref System.Reflection.Metadata.BlobReader signatureReader, System.Reflection.Metadata.SignatureHeader signatureHeader, out int typeParameterCount) Line 1781 + 0x27 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.dll!Microsoft.CodeAnalysis.MetadataDecoder<Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol,Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol,Microsoft.CodeAnalysis.CSharp.Symbol>.GetSignatureForMethod(System.Reflection.Metadata.MethodDefinitionHandle methodDef, out System.Reflection.Metadata.SignatureHeader signatureHeader, out System.BadImageFormatException metadataException, bool setParamHandles) Line 1123 + 0x28 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.LoadSignature() Line 558 + 0x56 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.ReturnType.get() Line 500 + 0xe bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol.CalculateUseSiteDiagnostic(ref Microsoft.CodeAnalysis.DiagnosticInfo result) Line 878 + 0xa bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEMethodSymbol.GetUseSiteDiagnostic() Line 1007 + 0xa bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol.HasUnsupportedMetadata.get() Line 921\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.OverloadResolution.AddConstructorToCandidateSet(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol constructor, Microsoft.CodeAnalysis.ArrayBuilder<Microsoft.CodeAnalysis.CSharp.MemberResolutionResult<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol>> results, Microsoft.CodeAnalysis.CSharp.AnalyzedArguments arguments, bool completeResults, ref System.Collections.Generic.HashSet<Microsoft.CodeAnalysis.DiagnosticInfo> useSiteDiagnostics) Line 305 + 0xa bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.OverloadResolution.ObjectCreationOverloadResolution(System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol> constructors, Microsoft.CodeAnalysis.CSharp.AnalyzedArguments arguments, Microsoft.CodeAnalysis.CSharp.OverloadResolutionResult<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol> result, ref System.Collections.Generic.HashSet<Microsoft.CodeAnalysis.DiagnosticInfo> useSiteDiagnostics) Line 78 + 0x48 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Binder.TryPerformConstructorOverloadResolution(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol typeContainingConstructors, Microsoft.CodeAnalysis.CSharp.AnalyzedArguments analyzedArguments, string errorName, Microsoft.CodeAnalysis.Location errorLocation, bool suppressResultDiagnostics, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, out Microsoft.CodeAnalysis.CSharp.MemberResolutionResult<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol> memberResolutionResult, out System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol> candidateConstructors, bool allowProtectedConstructorsOfBaseType) Line 4620\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeConstructor(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax node, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol attributeType, Microsoft.CodeAnalysis.CSharp.AnalyzedArguments boundConstructorArguments, Microsoft.CodeAnalysis.DiagnosticBag diagnostics, ref Microsoft.CodeAnalysis.CSharp.LookupResultKind resultKind, bool suppressErrors, ref System.Collections.Generic.HashSet<Microsoft.CodeAnalysis.DiagnosticInfo> useSiteDiagnostics) Line 485 + 0x35 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax node, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol attributeType, Microsoft.CodeAnalysis.DiagnosticBag diagnostics) Line 151 + 0x126 bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Binder.GetAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax node, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol boundAttributeType, Microsoft.CodeAnalysis.DiagnosticBag diagnostics) Line 97 + 0x6c bytes\tC#\r\n \tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Binder.GetAttributes(System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Binder> binders, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax> attributesToBind, System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol> boundAttributeTypes, Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData[] attributesBuilder, Microsoft.CodeAnalysis.DiagnosticBag diagnostics) Line 73 + 0x13 bytes\tC#\r\n>\tMicrosoft.CodeAnalysis.CSharp.dll!Microsoft.CodeAnalysis.CSharp.Symbol.LoadAndValidateAttributes(Roslyn.Utilities.OneOrMany<Microsoft.CodeAnalysis.SyntaxList<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax>> attributesSyntaxLists, ref Microsoft.CodeAnalysis.CustomAttributesBag<Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData> lazyCustomAttributesBag, Microsoft.CodeAnalysis.CSharp.Symbols.AttributeLocation symbolPart, bool earlyDecodingOnly, Microsoft.CodeAnalysis.DiagnosticBag addToDiagnostics, Microsoft.CodeAnalysis.CSharp.Binder binderOpt) Line 324\tC#\r\n```\r\n\r\nOccurred in version 2.2.0-beta1-61624-04. Commit Hash: 6969b516a24b460e269b1ae2be09d8c4cd220c27"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/351210867","html_url":"https://github.com/dotnet/roslyn/issues/21194#issuecomment-351210867","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/21194","id":351210867,"user":{"login":"jcouv","id":12466233,"avatar_url":"https://avatars2.githubusercontent.com/u/12466233?v=4","gravatar_id":"","url":"https://api.github.com/users/jcouv","html_url":"https://github.com/jcouv","followers_url":"https://api.github.com/users/jcouv/followers","following_url":"https://api.github.com/users/jcouv/following{/other_user}","gists_url":"https://api.github.com/users/jcouv/gists{/gist_id}","starred_url":"https://api.github.com/users/jcouv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcouv/subscriptions","organizations_url":"https://api.github.com/users/jcouv/orgs","repos_url":"https://api.github.com/users/jcouv/repos","events_url":"https://api.github.com/users/jcouv/events{/privacy}","received_events_url":"https://api.github.com/users/jcouv/received_events","type":"User","site_admin":false},"created_at":"2017-12-12T22:07:25Z","updated_at":"2017-12-12T22:07:25Z","author_association":"MEMBER","body":"Merged fix for 15.6 preview 2."}}
{"actor":{"display_login":"jcouv"}}