roslyn: "csc.exe" exited with code -2146232797

Version Used: 16.3.0 Preview 1 16.3.0 Preview 2 16.3.0 Preview 3 16.3.0 Preview 4

Steps to Reproduce:

I can’t tell, the only thing I see in VS is a one-line error message in build output: C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Roslyn\Microsoft.CSharp.Core.targets(59,5): error MSB6006: “csc.exe” exited with code -2146232797.

At least I found this in the event log which should be related:

Application: csc.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.IsCapturedInLocalFunction(Int32 slot)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.GetCapturedBitmask(BitVector& state)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.RecordCapturedChanges(BitVector& oldState, BitVector& newState)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.RecordChangedVars(LocalState& oldWrites, LocalState& newWrites, BitVector& oldReads, BitVector& newReads)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitLocalFunctionStatement(BoundLocalFunctionStatement localFunc)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitWithStackGuard(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitAlways(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(BoundBlock block)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(BoundBlock node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitWithStackGuard(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitAlways(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitForEachStatement(BoundForEachStatement node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitWithStackGuard(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitAlways(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(BoundBlock block)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(BoundBlock node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitWithStackGuard(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitAlways(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(BoundBlock block)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(BoundBlock node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitWithStackGuard(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.VisitAlways(BoundNode node)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.Scan(Boolean& badRegion)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.Scan(Boolean& badRegion)
   at Microsoft.CodeAnalysis.CSharp.UnassignedFieldsWalker.Scan(Boolean& badRegion)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1.Analyze(Boolean& badRegion, Optional`1 initialState)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.Analyze(Boolean& badRegion, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.UnassignedFieldsWalker.Analyze(CSharpCompilation compilation, MethodSymbol method, BoundNode node, DiagnosticBag diagnostics)
   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__DisplayClass22_0.<CompileNamedTypeAsTask>b__0()
Stack:
   at System.Environment.FailFast(System.String, System.Exception)
   at Microsoft.CodeAnalysis.FatalError.ReportUnlessCanceled(System.Exception)
   at Microsoft.CodeAnalysis.CSharp.MethodCompiler+<>c__DisplayClass22_0.<CompileNamedTypeAsTask>b__0()
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.IsCapturedInLocalFunction(Int32)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.GetCapturedBitmask(Microsoft.CodeAnalysis.BitVector ByRef)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.RecordCapturedChanges(Microsoft.CodeAnalysis.BitVector ByRef, Microsoft.CodeAnalysis.BitVector ByRef)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.RecordChangedVars(LocalState ByRef, LocalState ByRef, Microsoft.CodeAnalysis.BitVector ByRef, Microsoft.CodeAnalysis.BitVector ByRef)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitLocalFunctionStatement(Microsoft.CodeAnalysis.CSharp.BoundLocalFunctionStatement)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitWithStackGuard(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitAlways(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitWithStackGuard(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitAlways(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitForEachStatement(Microsoft.CodeAnalysis.CSharp.BoundForEachStatement)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitWithStackGuard(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitAlways(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitWithStackGuard(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitAlways(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitStatementsWithLocalFunctions(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.VisitBlock(Microsoft.CodeAnalysis.CSharp.BoundBlock)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitWithStackGuard(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].VisitAlways(Microsoft.CodeAnalysis.CSharp.BoundNode)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].Scan(Boolean ByRef)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.Scan(Boolean ByRef)
   at Microsoft.CodeAnalysis.CSharp.UnassignedFieldsWalker.Scan(Boolean ByRef)
   at Microsoft.CodeAnalysis.CSharp.AbstractFlowPass`1[[Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass+LocalState, Microsoft.CodeAnalysis.CSharp, Version=3.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]].Analyze(Boolean ByRef, Microsoft.CodeAnalysis.Optional`1<LocalState>)
   at Microsoft.CodeAnalysis.CSharp.DefiniteAssignmentPass.Analyze(Boolean ByRef, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.UnassignedFieldsWalker.Analyze(Microsoft.CodeAnalysis.CSharp.CSharpCompilation, Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol, Microsoft.CodeAnalysis.CSharp.BoundNode, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileMethod(Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol, Int32, ProcessedFieldInitializers ByRef, Microsoft.CodeAnalysis.CSharp.SynthesizedSubmissionFields, Microsoft.CodeAnalysis.CSharp.TypeCompilationState)
   at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol)
   at Microsoft.CodeAnalysis.CSharp.MethodCompiler+<>c__DisplayClass22_0.<CompileNamedTypeAsTask>b__0()
   at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass5_0.<WithCurrentUICulture>b__0()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

It’s a huge WPF project being part of a huge solution (>130 projects) so I can’t give any code. Please give a hint how to narrow this down (or get the jit debugger attached to the failing csc process).

(BTW: There is no problem with the release version of VS2019 16.2.x)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (7 by maintainers)

Commits related to this issue

Most upvoted comments

Thanks for reporting @springy76 The fix was merged into 16.4 preview 3

@Vertygo’s crash is indeed different (different stack trace), so I filed a separate issue for it: https://github.com/dotnet/roslyn/issues/38858