Skip to content

Random failure: System.MissingMethodException: Method not found: 'UInt32 System.Reflection.Metadata.Ecma335.HasConstantTag.ConvertToTag(System.Reflection.Metadata.EntityHandle)'. #120754

@rolfbjarne

Description

@rolfbjarne

Version Used:

9.0.109-servicing.25365.26

Steps to Reproduce:

It's random (and quite rare at that, maybe once a month on our CI), so I have no idea how to reproduce it.

Expected Behavior:

Successful build

Actual Behavior:

Build fails in the CSC target with:

Process terminated. System.MissingMethodException: Method not found: 'UInt32 System.Reflection.Metadata.Ecma335.HasConstantTag.ConvertToTag(System.Reflection.Metadata.EntityHandle)'.

Full stack trace
 Process terminated. System.MissingMethodException: Method not found: 'UInt32 System.Reflection.Metadata.Ecma335.HasConstantTag.ConvertToTag(System.Reflection.Metadata.EntityHandle)'.
    at System.Reflection.Metadata.Ecma335.ConstantTableReader.FindConstant(EntityHandle parentHandle)
    at System.Reflection.Metadata.FieldDefinition.GetDefaultValue()
    at Microsoft.CodeAnalysis.PEModule.GetConstantFieldValue(FieldDefinitionHandle fieldDef)
    at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol.GetConstantValue(ConstantFieldsInProgress inProgress, Boolean earlyDecodingWellKnownAttributes)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindFieldAccess(SyntaxNode node, BoundExpression receiver, FieldSymbol fieldSymbol, BindingDiagnosticBag diagnostics, LookupResultKind resultKind, Boolean indexed, Boolean hasErrors)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberOfType(SyntaxNode node, SyntaxNode right, String plainName, Int32 arity, Boolean indexed, BoundExpression left, SeparatedSyntaxList`1 typeArgumentsSyntax, ImmutableArray`1 typeArgumentsWithAnnotations, LookupResult lookupResult, BoundMethodGroupFlags methodGroupFlags, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindMemberAccessWithBoundLeft>g__tryBindMemberAccessWithBoundTypeLeft|488_1(ExpressionSyntax node, BoundExpression boundLeft, SimpleNameSyntax right, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics, TypeSymbol leftType, LookupResult lookupResult, LookupOptions options, SeparatedSyntaxList`1 typeArgumentsSyntax, ImmutableArray`1 typeArguments, String rightName, Int32 rightArity)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccessWithBoundLeft(ExpressionSyntax node, BoundExpression boundLeft, SimpleNameSyntax right, SyntaxToken operatorToken, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccess(MemberAccessExpressionSyntax node, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindExpressionInternal>g__bindExpressionInternal|337_0(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindArgumentExpression(BindingDiagnosticBag diagnostics, ExpressionSyntax argumentExpression, RefKind refKind, Boolean allowArglist)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeArguments(AttributeArgumentListSyntax attributeArgumentList, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeCore(Binder binder, AttributeSyntax node, NamedTypeSymbol attributeType, Symbol attributedMember, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttribute(AttributeSyntax node, NamedTypeSymbol boundAttributeType, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttributes(ImmutableArray`1 binders, ImmutableArray`1 attributesToBind, ImmutableArray`1 boundAttributeTypes, CSharpAttributeData[] attributeDataArray, BoundAttribute[] boundAttributeArray, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Symbol.LoadAndValidateAttributes(OneOrMany`1 attributesSyntaxLists, CustomAttributesBag`1& lazyCustomAttributesBag, AttributeLocation symbolPart, Boolean earlyDecodingOnly, Binder binderOpt, Func`2 attributeMatchesOpt, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound)
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributesBag()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributes()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken)
    at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken)
    at Roslyn.Utilities.UICultureUtilities.<>c__DisplayClass6_0`1.<WithCurrentUICulture>b__0(T param)
    at Roslyn.Utilities.RoslynParallel.<>c__DisplayClass1_0.<For>g__errorHandlingBody|0(Int32 i)
    at System.Environment.FailFast(System.Runtime.CompilerServices.StackCrawlMarkHandle, System.String, System.Runtime.CompilerServices.ObjectHandleOnStack, System.String)
    at System.Environment.FailFast(System.Threading.StackCrawlMark ByRef, System.String, System.Exception, System.String)
    at System.Environment.FailFast(System.String, System.Exception)
    at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
    at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, Microsoft.CodeAnalysis.ErrorReporting.ErrorSeverity, Boolean)
    at Microsoft.CodeAnalysis.ErrorReporting.FatalError.ReportAndPropagateUnlessCanceled(System.Exception, System.Threading.CancellationToken, Microsoft.CodeAnalysis.ErrorReporting.ErrorSeverity)
    at Roslyn.Utilities.RoslynParallel+<>c__DisplayClass1_0.<For>g__errorHandlingBody|0(Int32)
    at System.Runtime.EH.FindFirstPassHandler(System.Object, UInt32, System.Runtime.StackFrameIterator ByRef, UInt32 ByRef, Byte* ByRef)
    at System.Runtime.EH.DispatchEx(System.Runtime.StackFrameIterator ByRef, ExInfo ByRef)
    at System.Runtime.EH.RhThrowEx(System.Object, ExInfo ByRef)
    at System.Reflection.Metadata.Ecma335.ConstantTableReader.FindConstant(System.Reflection.Metadata.EntityHandle)
    at System.Reflection.Metadata.FieldDefinition.GetDefaultValue()
    at Microsoft.CodeAnalysis.PEModule.GetConstantFieldValue(System.Reflection.Metadata.FieldDefinitionHandle)
    at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol.GetConstantValue(Microsoft.CodeAnalysis.CSharp.ConstantFieldsInProgress, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindFieldAccess(Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.CSharp.BoundExpression, Microsoft.CodeAnalysis.CSharp.Symbols.FieldSymbol, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Microsoft.CodeAnalysis.CSharp.LookupResultKind, Boolean, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberOfType(Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SyntaxNode, System.String, Int32, Boolean, Microsoft.CodeAnalysis.CSharp.BoundExpression, Microsoft.CodeAnalysis.SeparatedSyntaxList`1<Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations>, Microsoft.CodeAnalysis.CSharp.LookupResult, Microsoft.CodeAnalysis.CSharp.BoundMethodGroupFlags, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindMemberAccessWithBoundLeft>g__tryBindMemberAccessWithBoundTypeLeft|488_1(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp.BoundExpression, Microsoft.CodeAnalysis.CSharp.Syntax.SimpleNameSyntax, Boolean, Boolean, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.LookupResult, Microsoft.CodeAnalysis.CSharp.LookupOptions, Microsoft.CodeAnalysis.SeparatedSyntaxList`1<Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Symbols.TypeWithAnnotations>, System.String, Int32)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccessWithBoundLeft(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp.BoundExpression, Microsoft.CodeAnalysis.CSharp.Syntax.SimpleNameSyntax, Microsoft.CodeAnalysis.SyntaxToken, Boolean, Boolean, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccess(Microsoft.CodeAnalysis.CSharp.Syntax.MemberAccessExpressionSyntax, Boolean, Boolean, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindExpressionInternal>g__bindExpressionInternal|337_0(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Boolean, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Boolean, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Boolean, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindArgumentExpression(Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.RefKind, Boolean)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeArguments(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeArgumentListSyntax, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeCore(Microsoft.CodeAnalysis.CSharp.Binder, Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol, Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttribute(Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax, Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol, System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttributes(System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Binder>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol>, Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData[], Microsoft.CodeAnalysis.CSharp.BoundAttribute[], System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, Microsoft.CodeAnalysis.CSharp.BindingDiagnosticBag)
    at Microsoft.CodeAnalysis.CSharp.Symbol.LoadAndValidateAttributes(Roslyn.Utilities.OneOrMany`1<Microsoft.CodeAnalysis.SyntaxList`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax>>, Microsoft.CodeAnalysis.CustomAttributesBag`1<Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData> ByRef, Microsoft.CodeAnalysis.CSharp.Symbols.AttributeLocation, Boolean, Microsoft.CodeAnalysis.CSharp.Binder, System.Func`2<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax,Boolean>, System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>, System.Action`1<Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax>)
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributesBag()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributes()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(Microsoft.CodeAnalysis.SourceLocation, System.Predicate`1<Microsoft.CodeAnalysis.CSharp.Symbol>, System.Threading.CancellationToken)
    at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(Microsoft.CodeAnalysis.SourceLocation, System.Predicate`1<Microsoft.CodeAnalysis.CSharp.Symbol>, Microsoft.CodeAnalysis.CSharp.Symbol, System.Threading.CancellationToken)
    at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass6_0`1[[System.Int32, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<WithCurrentUICulture>b__0(Int32)
    at Roslyn.Utilities.RoslynParallel+<>c__DisplayClass1_0.<For>g__errorHandlingBody|0(Int32)
    at System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<ForWorker>b__1(System.Threading.Tasks.RangeWorker ByRef, Int64, Boolean ByRef)
    at System.Threading.Tasks.TaskReplicator+Replica.Execute()
    at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
    at System.Threading.ThreadPoolWorkQueue.Dispatch()
    at System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()
    at System.Threading.Thread.StartCallback()
 System.MissingMethodException: Method not found: 'UInt32 System.Reflection.Metadata.Ecma335.HasConstantTag.ConvertToTag(System.Reflection.Metadata.EntityHandle)'.
    at System.Reflection.Metadata.Ecma335.ConstantTableReader.FindConstant(EntityHandle parentHandle)
    at System.Reflection.Metadata.FieldDefinition.GetDefaultValue()
    at Microsoft.CodeAnalysis.PEModule.GetConstantFieldValue(FieldDefinitionHandle fieldDef)
    at Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEFieldSymbol.GetConstantValue(ConstantFieldsInProgress inProgress, Boolean earlyDecodingWellKnownAttributes)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindFieldAccess(SyntaxNode node, BoundExpression receiver, FieldSymbol fieldSymbol, BindingDiagnosticBag diagnostics, LookupResultKind resultKind, Boolean indexed, Boolean hasErrors)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberOfType(SyntaxNode node, SyntaxNode right, String plainName, Int32 arity, Boolean indexed, BoundExpression left, SeparatedSyntaxList`1 typeArgumentsSyntax, ImmutableArray`1 typeArgumentsWithAnnotations, LookupResult lookupResult, BoundMethodGroupFlags methodGroupFlags, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindMemberAccessWithBoundLeft>g__tryBindMemberAccessWithBoundTypeLeft|488_1(ExpressionSyntax node, BoundExpression boundLeft, SimpleNameSyntax right, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics, TypeSymbol leftType, LookupResult lookupResult, LookupOptions options, SeparatedSyntaxList`1 typeArgumentsSyntax, ImmutableArray`1 typeArguments, String rightName, Int32 rightArity)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccessWithBoundLeft(ExpressionSyntax node, BoundExpression boundLeft, SimpleNameSyntax right, SyntaxToken operatorToken, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindMemberAccess(MemberAccessExpressionSyntax node, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.<BindExpressionInternal>g__bindExpressionInternal|337_0(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindArgumentExpression(BindingDiagnosticBag diagnostics, ExpressionSyntax argumentExpression, RefKind refKind, Boolean allowArglist)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeArguments(AttributeArgumentListSyntax attributeArgumentList, NamedTypeSymbol attributeType, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.BindAttributeCore(Binder binder, AttributeSyntax node, NamedTypeSymbol attributeType, Symbol attributedMember, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttribute(AttributeSyntax node, NamedTypeSymbol boundAttributeType, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Binder.GetAttributes(ImmutableArray`1 binders, ImmutableArray`1 attributesToBind, ImmutableArray`1 boundAttributeTypes, CSharpAttributeData[] attributeDataArray, BoundAttribute[] boundAttributeArray, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound, BindingDiagnosticBag diagnostics)
    at Microsoft.CodeAnalysis.CSharp.Symbol.LoadAndValidateAttributes(OneOrMany`1 attributesSyntaxLists, CustomAttributesBag`1& lazyCustomAttributesBag, AttributeLocation symbolPart, Boolean earlyDecodingOnly, Binder binderOpt, Func`2 attributeMatchesOpt, Action`1 beforeAttributePartBound, Action`1 afterAttributePartBound)
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributesBag()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol.GetAttributes()
    at Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol.ForceComplete(SourceLocation locationOpt, Predicate`1 filter, CancellationToken cancellationToken)
    at Microsoft.CodeAnalysis.CSharp.Symbol.ForceCompleteMemberConditionally(SourceLocation locationOpt, Predicate`1 filter, Symbol member, CancellationToken cancellationToken)
    at Roslyn.Utilities.UICultureUtilities.<>c__DisplayClass6_0`1.<WithCurrentUICulture>b__0(T param)
    at Roslyn.Utilities.RoslynParallel.<>c__DisplayClass1_0.<For>g__errorHandlingBody|0(Int32 i)

Binlog: build-Mac-20250806_131144.binlog.zip

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions