-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Closed
Description
Issue Title
Sdk 3.1.400+ breaks multi string pattern matching switch.
General
Hi all,
I updated to the latest visual studio today which bumped me from 3.1.301 up to 3.1.401.
After this update I started getting this build error saying there was a null ref exception inside of rosyln.
I tried rolling forward to the 5.0.1 preview and got the same issue.
I managed to isolate it to a single code block which I have included below.
By removing the second last statement in the switch it builds again.
No idea why.
This block fails in any sdk above 3.1.301. (On runtime 3.1.5)
var shouldRecalc = (originalStatus, status) switch
{
(_, EmailWorkflowStatus.Exception) => true,
(_, EmailWorkflowStatus.ErrorProcessingDocuments) => true,
(EmailWorkflowStatus.ProcessingAttachments, EmailWorkflowStatus.ActionRequired) => true,
(EmailWorkflowStatus.ProcessingAttachments, EmailWorkflowStatus.UnknownSender) => true,
(EmailWorkflowStatus.ErrorProcessingDocuments, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.ErrorProcessingDocuments, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.UnknownSender, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.UnknownSender, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.Exception, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.Exception, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.Complete) => true,
(EmailWorkflowStatus.Loading, EmailWorkflowStatus.Unprocessed) => false,
(_, EmailWorkflowStatus.Unprocessed) => true,
_ => false
};
This does not fail:
var shouldRecalc = (originalStatus, status) switch
{
(_, EmailWorkflowStatus.Exception) => true,
(_, EmailWorkflowStatus.ErrorProcessingDocuments) => true,
(EmailWorkflowStatus.ProcessingAttachments, EmailWorkflowStatus.ActionRequired) => true,
(EmailWorkflowStatus.ProcessingAttachments, EmailWorkflowStatus.UnknownSender) => true,
(EmailWorkflowStatus.ErrorProcessingDocuments, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.ErrorProcessingDocuments, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.UnknownSender, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.UnknownSender, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.Exception, EmailWorkflowStatus.ProcessingAttachments) => true,
(EmailWorkflowStatus.Exception, EmailWorkflowStatus.Ignored) => true,
(EmailWorkflowStatus.ActionRequired, EmailWorkflowStatus.Complete) => true,
(EmailWorkflowStatus.Loading, EmailWorkflowStatus.Unprocessed) => false,
//(_, EmailWorkflowStatus.Unprocessed) => true,
_ => false
};
Where all of EmailWorkflowStatus.* are const strings eg
public static class EmailWorkflowStatus
{
...
public const string Loading = "Loading";
public const string Exception = "Exception";
...
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.BasicBlock.ShortenBranches(Int32& delta) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.ComputeOffsetsAndAdjustBranches() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.RealizeBlocks() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.Realize() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.GenerateImpl() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.Generate(Int32& asyncCatchHandlerOffset, ImmutableArray`1& asyncYieldPoints, ImmutableArray`1& asyncResumePoints, Boolean& hasStackAlloc) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.GenerateMethodBody(PEModuleBuilder moduleBuilder, MethodSymbol method, Int32 methodOrdinal, BoundStatement block, ImmutableArray`1 lambdaDebugInfo, ImmutableArray`1 closureDebugInfo, StateMachineTypeSymbol stateMachineTypeOpt, VariableSlotAllocator variableSlotAllocatorOpt, DiagnosticBag diagnostics, DebugDocumentProvider debugDocumentProvider, ImportChain importChainOpt, Boolean emittingPdb, Boolean emitTestCoverageData, ImmutableArray`1 dynamicAnalysisSpans, AsyncForwardEntryPoint entryPointOpt) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileSynthesizedMethods(TypeCompilationState compilationState) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType(NamedTypeSymbol containingType) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.<>c__DisplayClass22_0.<CompileNamedTypeAsync>b__0() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Environment.FailFast(System.String, System.Exception) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.FatalError.Report(System.Exception, System.Action`1<System.Exception>) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.FatalError.ReportUnlessCanceled(System.Exception) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler+<>c__DisplayClass22_0.<CompileNamedTypeAsync>b__0() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder+BasicBlock.ShortenBranches(Int32 ByRef) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.ComputeOffsetsAndAdjustBranches() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.RealizeBlocks() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.Realize() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.GenerateImpl() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.Generate(Int32 ByRef, System.Collections.Immutable.ImmutableArray`1<Int32> ByRef, System.Collections.Immutable.ImmutableArray`1<Int32> ByRef, Boolean ByRef) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.GenerateMethodBody(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder, Microsoft.CodeAnalysis.CSharp.Symbols.MethodSymbol, Int32, Microsoft.CodeAnalysis.CSharp.BoundStatement, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CodeGen.LambdaDebugInfo>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CodeGen.ClosureDebugInfo>, Microsoft.CodeAnalysis.CSharp.StateMachineTypeSymbol, Microsoft.CodeAnalysis.CodeGen.VariableSlotAllocator, Microsoft.CodeAnalysis.DiagnosticBag, Microsoft.CodeAnalysis.CodeGen.DebugDocumentProvider, Microsoft.CodeAnalysis.CSharp.ImportChain, Boolean, Boolean, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.CodeGen.SourceSpan>, AsyncForwardEntryPoint) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileSynthesizedMethods(Microsoft.CodeAnalysis.CSharp.TypeCompilationState) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType(Microsoft.CodeAnalysis.CSharp.Symbols.NamedTypeSymbol) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler+<>c__DisplayClass22_0.<CompileNamedTypeAsync>b__0() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Roslyn.Utilities.UICultureUtilities+<>c__DisplayClass5_0.<WithCurrentUICulture>b__0() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.Tasks.Task.InnerInvoke() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.Tasks.Task+<>c.<.cctor>b__277_0(System.Object) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.Tasks.Task.ExecuteFromThreadPool(System.Threading.Thread) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading.ThreadPoolWorkQueue.Dispatch() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : System.NullReferenceException: Object reference not set to an instance of an object. [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.BasicBlock.ShortenBranches(Int32& delta) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.ComputeOffsetsAndAdjustBranches() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.RealizeBlocks() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CodeGen.ILBuilder.Realize() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.GenerateImpl() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.CodeGen.CodeGenerator.Generate(Int32& asyncCatchHandlerOffset, ImmutableArray`1& asyncYieldPoints, ImmutableArray`1& asyncResumePoints, Boolean& hasStackAlloc) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.GenerateMethodBody(PEModuleBuilder moduleBuilder, MethodSymbol method, Int32 methodOrdinal, BoundStatement block, ImmutableArray`1 lambdaDebugInfo, ImmutableArray`1 closureDebugInfo, StateMachineTypeSymbol stateMachineTypeOpt, VariableSlotAllocator variableSlotAllocatorOpt, DiagnosticBag diagnostics, DebugDocumentProvider debugDocumentProvider, ImportChain importChainOpt, Boolean emittingPdb, Boolean emitTestCoverageData, ImmutableArray`1 dynamicAnalysisSpans, AsyncForwardEntryPoint entryPointOpt) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileSynthesizedMethods(TypeCompilationState compilationState) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.CompileNamedType(NamedTypeSymbol containingType) [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]
C:\Program Files\dotnet\sdk\5.0.100-preview.7.20366.6\Roslyn\Microsoft.CSharp.Core.targets(70,5): error : at Microsoft.CodeAnalysis.CSharp.MethodCompiler.<>c__DisplayClass22_0.<CompileNamedTypeAsync>b__0() [C:\REDACTED\Modules\REDACTED\REDACTED.csproj]```
b-f-
Metadata
Metadata
Assignees
Labels
No labels