The bootstrap build is failing due to the following assert. Stack trace included at the bottom of the report. Can see the failure in this pipeline as well as a few others:
ID=VBCSCompiler TID=48: Debug.Assert failed with message: Fail:
Stack Trace
at Microsoft.CodeAnalysis.CommandLine.ExitingTraceListener.Exit(String originalMessage)
at Microsoft.CodeAnalysis.CommandLine.ExitingTraceListener.WriteLine(String message)
at System.Diagnostics.TraceInternal.Fail(String message)
at System.Diagnostics.Debug.Assert(Boolean condition)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitUserDefinedConversion(BoundConversion conversionOpt, BoundExpression conversionOperand, Conversion conversion, TypeWithAnnotations targetTypeWithNullability, TypeWithState operandType, Boolean useLegacyWarnings, AssignmentKind assignmentKind, ParameterSymbol parameterOpt, Boolean reportTopLevelWarnings, Boolean reportRemainingWarnings, Location diagnosticLocation)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitConversion(BoundConversion conversionOpt, BoundExpression conversionOperand, Conversion conversion, TypeWithAnnotations targetTypeWithNullability, TypeWithState operandType, Boolean checkConversion, Boolean fromExplicitCast, Boolean useLegacyWarnings, AssignmentKind assignmentKind, ParameterSymbol parameterOpt, Boolean reportTopLevelWarnings, Boolean reportRemainingWarnings, Boolean extensionMethodThisArgument, Optional`1 stateForLambda, Boolean trackMembers, Location diagnosticLocationOpt, ArrayBuilder`1 previousArgumentConversionResults)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.ConvertConditionalOperandOrSwitchExpressionArmResult(BoundExpression node, BoundExpression operand, Conversion conversion, TypeWithAnnotations targetType, TypeWithState operandType, LocalState state, Boolean isReachable)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.<>c__DisplayClass206_0.<VisitConditionalOperatorCore>g__convertArms|0(BoundExpression node, BoundExpression originalConsequence, BoundExpression originalAlternative, LocalState consequenceState, LocalState alternativeState, TypeWithState consequenceRValue, TypeWithState alternativeRValue, BoundExpression consequence, Conversion consequenceConversion, Boolean consequenceEndReachable, BoundExpression alternative, Conversion alternativeConversion, Boolean alternativeEndReachable, TypeWithAnnotations resultTypeWithAnnotations, Boolean wasTargetTyped)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitConditionalOperatorCore(BoundExpression node, Boolean isRef, BoundExpression condition, BoundExpression originalConsequence, BoundExpression originalAlternative)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitConditionalOperator(BoundConditionalOperator node)
at Microsoft.CodeAnalysis.CSharp.BoundConditionalOperator.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.VisitExpressionWithStackGuard(Int32& recursionDepth, BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalue(BoundExpression node, Boolean isKnownToBeAnLvalue)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalueWithState(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitOptionalImplicitConversion(BoundExpression expr, TypeWithAnnotations targetTypeOpt, Boolean useLegacyWarnings, Boolean trackMembers, AssignmentKind assignmentKind, Boolean delayCompletionForTargetType)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitOptionalImplicitConversion(BoundExpression expr, TypeWithAnnotations targetTypeOpt, Boolean useLegacyWarnings, Boolean trackMembers, AssignmentKind assignmentKind)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitReturnStatement(BoundReturnStatement node)
at Microsoft.CodeAnalysis.CSharp.BoundReturnStatement.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitStatement(BoundStatement statement)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitStatement(BoundStatement statement)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitStatementsWithLocalFunctions(BoundBlock block)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitBlock(BoundBlock node)
at Microsoft.CodeAnalysis.CSharp.BoundBlock.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.AnalyzeLocalFunctionOrLambda(IBoundLambdaOrFunction lambdaOrFunction, MethodSymbol lambdaOrFunctionSymbol, LocalState state, MethodSymbol delegateInvokeMethod, Boolean useDelegateInvokeParameterTypes, Boolean useDelegateInvokeReturnType)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitLambda(BoundLambda node, NamedTypeSymbol delegateTypeOpt, Optional`1 initialState)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitConversion(BoundConversion conversionOpt, BoundExpression conversionOperand, Conversion conversion, TypeWithAnnotations targetTypeWithNullability, TypeWithState operandType, Boolean checkConversion, Boolean fromExplicitCast, Boolean useLegacyWarnings, AssignmentKind assignmentKind, ParameterSymbol parameterOpt, Boolean reportTopLevelWarnings, Boolean reportRemainingWarnings, Boolean extensionMethodThisArgument, Optional`1 stateForLambda, Boolean trackMembers, Location diagnosticLocationOpt, ArrayBuilder`1 previousArgumentConversionResults)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArgumentConversionAndInboundAssignmentsAndPreConditions(BoundConversion conversionOpt, BoundExpression argumentNoConversion, Conversion conversion, RefKind refKind, ParameterSymbol parameter, TypeWithAnnotations parameterType, FlowAnalysisAnnotations parameterAnnotations, VisitArgumentResult result, ArrayBuilder`1 conversionResultsBuilder, Boolean extensionMethodThisArgument)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.<VisitArguments>g__visitArguments|231_0(BoundNode node, ImmutableArray`1 arguments, ImmutableArray`1 argumentsNoConversions, ImmutableArray`1 conversions, ImmutableArray`1 results, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parametersOpt, ImmutableArray`1 argsToParamsOpt, BitVector defaultArguments, Boolean expanded, Boolean invokedAsExtensionMethod, MethodSymbol method, Boolean delayCompletionForTargetMember)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArguments(BoundNode node, ImmutableArray`1 arguments, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parametersOpt, ImmutableArray`1 argsToParamsOpt, BitVector defaultArguments, Boolean expanded, Boolean invokedAsExtensionMethod, MethodSymbol method, Boolean delayCompletionForTargetMember)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArguments(BoundNode node, ImmutableArray`1 arguments, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parametersOpt, ImmutableArray`1 argsToParamsOpt, BitVector defaultArguments, Boolean expanded, Boolean invokedAsExtensionMethod, MethodSymbol method)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.ReinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitCall(BoundCall node)
at Microsoft.CodeAnalysis.CSharp.BoundCall.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.VisitExpressionWithStackGuard(Int32& recursionDepth, BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalue(BoundExpression node, Boolean isKnownToBeAnLvalue)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalueWithState(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitMemberAccess(BoundExpression node, BoundExpression receiverOpt, Symbol member)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitPropertyAccess(BoundPropertyAccess node)
at Microsoft.CodeAnalysis.CSharp.BoundPropertyAccess.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.VisitExpressionWithStackGuard(Int32& recursionDepth, BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalue(BoundExpression node, Boolean isKnownToBeAnLvalue)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArgumentEvaluate(BoundExpression argument, RefKind refKind, FlowAnalysisAnnotations annotations)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArgumentsEvaluate(ImmutableArray`1 arguments, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parameterAnnotationsOpt, BitVector defaultArguments)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArguments(BoundNode node, ImmutableArray`1 arguments, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parametersOpt, ImmutableArray`1 argsToParamsOpt, BitVector defaultArguments, Boolean expanded, Boolean invokedAsExtensionMethod, MethodSymbol method, Boolean delayCompletionForTargetMember)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitArguments(BoundNode node, ImmutableArray`1 arguments, ImmutableArray`1 refKindsOpt, ImmutableArray`1 parametersOpt, ImmutableArray`1 argsToParamsOpt, BitVector defaultArguments, Boolean expanded, Boolean invokedAsExtensionMethod, MethodSymbol method)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.ReinferMethodAndVisitArguments(BoundCall node, TypeWithState receiverType)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitCall(BoundCall node)
at Microsoft.CodeAnalysis.CSharp.BoundCall.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitExpressionWithoutStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.VisitExpressionWithStackGuard(BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.VisitExpressionWithStackGuard(Int32& recursionDepth, BoundExpression node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitRvalue(BoundExpression node, Boolean isKnownToBeAnLvalue)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitExpressionStatement(BoundExpressionStatement node)
at Microsoft.CodeAnalysis.CSharp.BoundExpressionStatement.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitStatement(BoundStatement statement)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitStatement(BoundStatement statement)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitStatementsWithLocalFunctions(BoundBlock block)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.VisitBlock(BoundBlock node)
at Microsoft.CodeAnalysis.CSharp.BoundBlock.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitMethodBodies(BoundBlock blockBody, BoundBlock expressionBody)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitNonConstructorMethodBody(BoundNonConstructorMethodBody node)
at Microsoft.CodeAnalysis.CSharp.BoundNonConstructorMethodBody.Accept(BoundTreeVisitor visitor)
at Microsoft.CodeAnalysis.CSharp.BoundTreeVisitor.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitWithStackGuard(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.VisitAlways(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node, Boolean expressionIsRead)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Visit(BoundNode node)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Scan(Boolean& badRegion)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Scan(Boolean& badRegion)
at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`2.Analyze(Boolean& badRegion, Optional`1 initialState)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Analyze(NullableWalker walker, Symbol symbol, DiagnosticBag diagnostics, Optional`1 initialState, Builder snapshotBuilderOpt, Boolean requiresAnalysis)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.Analyze(CSharpCompilation compilation, Symbol symbol, BoundNode node, Binder binder, Conversions conversions, DiagnosticBag diagnostics, Boolean useConstructorExitWarnings, Boolean useDelegateInvokeParameterTypes, Boolean useDelegateInvokeReturnType, MethodSymbol delegateInvokeMethodOpt, VariableState initialState, MethodSymbol baseOrThisInitializer, Builder analyzedNullabilityMapOpt, Builder snapshotBuilderOpt, ArrayBuilder`1 returnTypesOpt, Boolean getFinalNullableState, VariableState& finalNullableState, Boolean requiresAnalysis)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.AnalyzeWithSemanticInfo(CSharpCompilation compilation, Symbol symbol, BoundNode node, Binder binder, VariableState initialState, DiagnosticBag diagnostics, Boolean createSnapshots, Boolean requiresAnalysis)
at Microsoft.CodeAnalysis.CSharp.NullableWalker.AnalyzeAndRewrite(CSharpCompilation compilation, Symbol symbol, BoundNode node, Binder binder, VariableState initialState, DiagnosticBag diagnostics, Boolean createSnapshots, SnapshotManager& snapshotManager, ImmutableDictionary`2& remappedSymbols)
at Microsoft.CodeAnalysis.CSharp.MethodCompiler.BindMethodBody(MethodSymbol method, TypeCompilationState compilationState, BindingDiagnosticBag diagnostics, Boolean includeInitializersInBody, BoundNode initializersBody, Boolean reportNullableDiagnostics, ImportChain& importChain, Boolean& originalBodyNested, Boolean& prependedDefaultValueTypeConstructorInitializer, InitialState& forSemanticModel)
at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileMethod(MethodSymbol methodSymbol, Int32 methodOrdinal, ProcessedFieldInitializers& processedInitializers, SynthesizedSubmissionFields previousSubmissionFields, TypeCompilationState compilationState)
at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType(NamedTypeSymbol containingType)
at Microsoft.CodeAnalysis.CSharp.MethodCompiler.<>c__DisplayClass25_0.<CompileNamedTypeAsync>b__0()
at Roslyn.Utilities.UICultureUtilities.<>c__DisplayClass5_0.<WithCurrentUICulture>b__0()
The bootstrap build is failing due to the following assert. Stack trace included at the bottom of the report. Can see the failure in this pipeline as well as a few others:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=190413&view=logs&j=89d3da57-d43f-50a1-f922-23d6fe844e96&t=e1f2962e-b5c2-538c-8f54-dec3f1555db2
Based on the timing and error log I suspect the code in #67064 is what triggered the compiler assert.