Patch broken after adding a Do region

This is in 6.4 but also happens in 6.3, didn’t test older versions.

The Do region in the Cache was added to put a Debugger Break there, but the error also happens without the Break node. The patch works again when the Do region is removed.

HowTo Compute Texture3D.vl (74.1 KB)


NullReferenceException: "Object reference not set to an instance of an object."
                StackTrace:
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax GenerateLambda(VL.Lang.Symbols.INodeSymbol region, VL.Lang.Symbols.IPatchSymbol patch, System.Action<VL.Lang.Symbols.IPinDefinitionSymbol, Microsoft.CodeAnalysis.CSharp.Syntax.IdentifierNameSyntax, VL.Core.Utils.Pooled<System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax>>> customProcessInput, System.Func<VL.Lang.Symbols.IPinDefinitionSymbol, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> getSyntaxNodeForOutput) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void <GenerateNodeApplicationStatements_HandleRegions>g__DeclareCustomRegionDelegate|81_3(VL.Lang.Symbols.PatchedNodeSymbol region, System.Collections.Immutable.ImmutableArray<VL.Lang.Symbols.PatchSymbol> patches, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax customRegionLocal, string patchName, string delegateFieldName, bool explicitClosureManagement) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleRegions(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.INodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateFragmentApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.IFragmentSymbol fragment, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void GeneratePatchStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol currentRegion, VL.Lang.Platforms.Roslyn.PatchState state, bool annotate) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler+<>c__DisplayClass96_0 { internal void <Compile>b__0() { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public VL.Lang.Platforms.Roslyn.StatementBuilder Record(System.Action action) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void Compile(System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax> statements, VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Platforms.Roslyn.PatchState state, bool writeFieldsImmediately, bool manageStateOnStack) { ... } } 
                    VL.Lib.Primitive.CacheRegion { public virtual void Compile(VL.Lang.Platforms.Roslyn.PatchCompiler compiler, VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax> syntaxNodes, VL.Lang.Symbols.IBorderControlPointSymbol bcp) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GetPluginStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.IBorderControlPointSymbol bcp) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_Core(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleAccumPinGroups(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleApplyPin(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandlePinGroups(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol original, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleRegions(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.INodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void GeneratePatchStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol currentRegion, VL.Lang.Platforms.Roslyn.PatchState state, bool annotate) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void GeneratePatchStatements(VL.Lang.Symbols.IPatchSymbol patch, bool annotate) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal void <CreateSyntaxTrees>g__GenerateOperationStatements|94(VL.Lang.Platforms.Roslyn.StatementBuilder statementBuilder, VL.Lang.Platforms.Roslyn.PatchState rootState, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax tracerLocal, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax selfLocal, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& , VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_21& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax <CreateSyntaxTrees>g__GetMethod|92(VL.Lang.Symbols.IOperationDefinitionSymbol operation, VL.Lang.Symbols.IPatchSymbol patch, bool methodTracingEnabled, bool isTraceMethod, uint topLevelPatchId, bool createSubContexts, bool isOverride, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal void <CreateSyntaxTrees>g__ProduceMethodPair|91(VL.Lang.Symbols.IOperationDefinitionSymbol operation, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3+<<CreateSyntaxTrees>g__GenerateMembers|37>d { private virtual bool MoveNext() { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_15+<<CreateSyntaxTrees>g__GetMembers|72>d { private virtual bool MoveNext() { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax <CreateSyntaxTrees>g__CreateProgramTypeDeclaration|28(VL.Lang.Symbols.IConcreteTypeSymbol type, VL.Lang.Symbols.IPatchSymbol patch, bool tracingEnabled, int declIndent, bool isIncremental) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_1 { internal System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> <CreateSyntaxTrees>g__GetNamespaceMembers|5(VL.Lang.Platforms.Roslyn.ThreadNameSyntaxGenerator nameGenerator, System.Collections.Generic.IEnumerable<VL.Lang.Platforms.Roslyn.DefinitionBuildRequest> definitions, int indent) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_2 { internal VL.Lang.Platforms.Roslyn.ThreadNameSyntaxGenerator <CreateSyntaxTrees>b__8(int i, System.Threading.Tasks.ParallelLoopState pls, VL.Lang.Platforms.Roslyn.ThreadNameSyntaxGenerator nameGenerator) { ... } } 
                    System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                    System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                    System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                    System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                    System.Threading.Tasks.TaskReplicator+Replica { public void Execute() { ... } } 

        AggregateException: "One or more errors occurred. (Object reference not set to an instance of an object.)"
            InnerExceptions: "1"
            StackTrace:
                System.Threading.Tasks.TaskReplicator { public static void Run(System.Threading.Tasks.TaskReplicator.ReplicatableUserAction<> action, System.Threading.Tasks.ParallelOptions options, bool stopOnFirstFailure) { ... } } 
                System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
                System.Threading.Tasks.Parallel { public static System.Threading.Tasks.ParallelLoopResult For(int fromInclusive, int toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Func<> localInit, System.Func<, , , > body, System.Action<> localFinally) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_1 { internal void <CreateSyntaxTrees>g__CreateDeclarations|4(System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> decls) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_0 { internal Microsoft.CodeAnalysis.SyntaxTree <CreateSyntaxTrees>g__GetSyntaxTree|2(VL.Lang.Platforms.Roslyn.DocumentBuildRequest buildRequest) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_0 { internal void <CreateSyntaxTrees>b__0(int i) { ... } } 
                System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                System.Threading.Tasks.TaskReplicator+Replica { public void Execute() { ... } } 

AggregateException: "One or more errors occurred. (One or more errors occurred. (Object reference not set to an instance of an object.))"
    InnerExceptions: "1"
    StackTrace:
        System.Threading.Tasks.TaskReplicator { public static void Run(System.Threading.Tasks.TaskReplicator.ReplicatableUserAction<> action, System.Threading.Tasks.ParallelOptions options, bool stopOnFirstFailure) { ... } } 
        System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
        System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
        System.Threading.Tasks.Parallel { public static System.Threading.Tasks.ParallelLoopResult For(int fromInclusive, int toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<int> body) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation { public static System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxTree> CreateSyntaxTrees(VL.Lang.Platforms.Roslyn.ProjectNameSyntaxGenerator projectNameGenerator, VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest, System.Threading.CancellationToken token, VL.Lang.Platforms.Roslyn.VLObjectFlavour vlObjectFlavour, VL.Lang.Symbols.IProcessDefinitionSymbol appClient, VL.Lang.Symbols.IConcreteTypeSymbol appHost, string hash) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal System.ValueTuple<Microsoft.CodeAnalysis.CSharp.CSharpCompilation, System.Collections.Generic.IReadOnlyDictionary<VL.Core.UniqueId, Microsoft.CodeAnalysis.SyntaxAnnotation>> <InitializeAsync>g__CreateCSharpCompilation|2(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest, bool normalizeWhitespaces) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal VL.Lang.Platforms.Roslyn.ProjectCompilation <InitializeAsync>g__Build|0(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_1+<<InitializeAsync>b__3>d { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<InitializeAsync>d__6 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<CreateAsync>d__4 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<WithCompilationAsync>d__43 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<VL-Lang-Symbols-ITargetCompilation-WithCompilationAsync>d__44 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<CreateTargetCompilationAsync>d__169 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        VL.Model.VLSession+<UpdateRuntimesAsync>d__168 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        VL.Model.VLSession+<UpdateCompilationAsync>d__192 { private virtual void MoveNext() { ... } } 


            NullReferenceException: "Object reference not set to an instance of an object."
                StackTrace:
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public Microsoft.CodeAnalysis.CSharp.Syntax.LambdaExpressionSyntax GenerateLambda(VL.Lang.Symbols.INodeSymbol region, VL.Lang.Symbols.IPatchSymbol patch, System.Action<VL.Lang.Symbols.IPinDefinitionSymbol, Microsoft.CodeAnalysis.CSharp.Syntax.IdentifierNameSyntax, VL.Core.Utils.Pooled<System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax>>> customProcessInput, System.Func<VL.Lang.Symbols.IPinDefinitionSymbol, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax> getSyntaxNodeForOutput) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void <GenerateNodeApplicationStatements_HandleRegions>g__DeclareCustomRegionDelegate|81_3(VL.Lang.Symbols.PatchedNodeSymbol region, System.Collections.Immutable.ImmutableArray<VL.Lang.Symbols.PatchSymbol> patches, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax customRegionLocal, string patchName, string delegateFieldName, bool explicitClosureManagement) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleRegions(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.INodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateFragmentApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.IFragmentSymbol fragment, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void GeneratePatchStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol currentRegion, VL.Lang.Platforms.Roslyn.PatchState state, bool annotate) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public VL.Lang.Platforms.Roslyn.StatementBuilder Record(System.Action action) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void Compile(System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax> statements, VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Platforms.Roslyn.PatchState state, bool writeFieldsImmediately, bool manageStateOnStack) { ... } } 
                    VL.Lib.Primitive.CacheRegion { public virtual void Compile(VL.Lang.Platforms.Roslyn.PatchCompiler compiler, VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax> syntaxNodes, VL.Lang.Symbols.IBorderControlPointSymbol bcp) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GetPluginStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.IBorderControlPointSymbol bcp) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_Core(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleAccumPinGroups(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleApplyPin(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandlePinGroups(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol original, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements_HandleRegions(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.PatchedNodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { private void GenerateNodeApplicationStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol node, VL.Lang.Symbols.INodeSymbol region, VL.Lang.Platforms.Roslyn.PatchState state) { ... } } 
                    VL.Lang.Platforms.Roslyn.PatchCompiler { public void GeneratePatchStatements(VL.Lang.Symbols.IPatchSymbol patch, VL.Lang.Symbols.INodeSymbol currentRegion, VL.Lang.Platforms.Roslyn.PatchState state, bool annotate) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal void <CreateSyntaxTrees>g__GenerateOperationStatements|94(VL.Lang.Platforms.Roslyn.StatementBuilder statementBuilder, VL.Lang.Platforms.Roslyn.PatchState rootState, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax tracerLocal, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax selfLocal, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& , VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_21& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax <CreateSyntaxTrees>g__GetMethod|92(VL.Lang.Symbols.IOperationDefinitionSymbol operation, VL.Lang.Symbols.IPatchSymbol patch, bool methodTracingEnabled, bool isTraceMethod, uint topLevelPatchId, bool createSubContexts, bool isOverride, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal void <CreateSyntaxTrees>g__ProduceMethodPair|91(VL.Lang.Symbols.IOperationDefinitionSymbol operation, VL.Lang.Platforms.Roslyn.<>c__DisplayClass61_20& ) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3+<<CreateSyntaxTrees>g__GenerateMembers|37>d { private virtual bool MoveNext() { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_15+<<CreateSyntaxTrees>g__GetMembers|72>d { private virtual bool MoveNext() { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_3 { internal Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax <CreateSyntaxTrees>g__CreateProgramTypeDeclaration|28(VL.Lang.Symbols.IConcreteTypeSymbol type, VL.Lang.Symbols.IPatchSymbol patch, bool tracingEnabled, int declIndent, bool isIncremental) { ... } } 
                    VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_1 { internal System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> <CreateSyntaxTrees>g__GetNamespaceMembers|5(VL.Lang.Platforms.Roslyn.ThreadNameSyntaxGenerator nameGenerator, System.Collections.Generic.IEnumerable<VL.Lang.Platforms.Roslyn.DefinitionBuildRequest> definitions, int indent) { ... } } 
                    System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                    System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                    System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                    System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                    System.Threading.Tasks.TaskReplicator+Replica { public void Execute() { ... } } 

        AggregateException: "One or more errors occurred. (Object reference not set to an instance of an object.)"
            InnerExceptions: "1"
            StackTrace:
                System.Threading.Tasks.TaskReplicator { public static void Run(System.Threading.Tasks.TaskReplicator.ReplicatableUserAction<> action, System.Threading.Tasks.ParallelOptions options, bool stopOnFirstFailure) { ... } } 
                System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_1 { internal void <CreateSyntaxTrees>g__CreateDeclarations|4(System.Collections.Generic.List<Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax> decls) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_0 { internal Microsoft.CodeAnalysis.SyntaxTree <CreateSyntaxTrees>g__GetSyntaxTree|2(VL.Lang.Platforms.Roslyn.DocumentBuildRequest buildRequest) { ... } } 
                VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass61_0 { internal void <CreateSyntaxTrees>b__0(int i) { ... } } 
                System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
                System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
                System.Threading.Tasks.Parallel+<>c__DisplayClass19_0`2 { internal void <ForWorker>b__1(System.Threading.Tasks.RangeWorker& currentWorker, long timeout, System.Boolean& replicationDelegateYieldedBeforeCompletion) { ... } } 
                System.Threading.Tasks.TaskReplicator+Replica { public void Execute() { ... } } 

AggregateException: "One or more errors occurred. (One or more errors occurred. (Object reference not set to an instance of an object.))"
    InnerExceptions: "1"
    StackTrace:
        System.Threading.Tasks.TaskReplicator { public static void Run(System.Threading.Tasks.TaskReplicator.ReplicatableUserAction<> action, System.Threading.Tasks.ParallelOptions options, bool stopOnFirstFailure) { ... } } 
        System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public static void Throw(System.Exception source) { ... } } 
        System.Threading.Tasks.Parallel { private static System.Threading.Tasks.ParallelLoopResult ForWorker(TInt fromInclusive, TInt toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<> body, System.Action<, > bodyWithState, System.Func<, , , > bodyWithLocal, System.Func<> localInit, System.Action<> localFinally) { ... } } 
        System.Threading.Tasks.Parallel { public static System.Threading.Tasks.ParallelLoopResult For(int fromInclusive, int toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action<int> body) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation { public static System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.SyntaxTree> CreateSyntaxTrees(VL.Lang.Platforms.Roslyn.ProjectNameSyntaxGenerator projectNameGenerator, VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest, System.Threading.CancellationToken token, VL.Lang.Platforms.Roslyn.VLObjectFlavour vlObjectFlavour, VL.Lang.Symbols.IProcessDefinitionSymbol appClient, VL.Lang.Symbols.IConcreteTypeSymbol appHost, string hash) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal System.ValueTuple<Microsoft.CodeAnalysis.CSharp.CSharpCompilation, System.Collections.Generic.IReadOnlyDictionary<VL.Core.UniqueId, Microsoft.CodeAnalysis.SyntaxAnnotation>> <InitializeAsync>g__CreateCSharpCompilation|2(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest, bool normalizeWhitespaces) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_0 { internal VL.Lang.Platforms.Roslyn.ProjectCompilation <InitializeAsync>g__Build|0(VL.Lang.Platforms.Roslyn.ProjectBuildRequest projectBuildRequest) { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<>c__DisplayClass6_1+<<InitializeAsync>b__3>d { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<InitializeAsync>d__6 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<CreateAsync>d__4 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<WithCompilationAsync>d__43 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Lang.Platforms.Roslyn.TargetCompilation+<VL-Lang-Symbols-ITargetCompilation-WithCompilationAsync>d__44 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter`1 { public TResult GetResult() { ... } } 
        VL.Model.VLSession+<CreateTargetCompilationAsync>d__169 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        VL.Model.VLSession+<UpdateRuntimesAsync>d__168 { private virtual void MoveNext() { ... } } 
        System.Runtime.ExceptionServices.ExceptionDispatchInfo { public void Throw() { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void ThrowForNonSuccess(System.Threading.Tasks.Task task) { ... } } 
        System.Runtime.CompilerServices.TaskAwaiter { private static void HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task, System.Threading.Tasks.ConfigureAwaitOptions options) { ... } } 
        VL.Model.VLSession+<UpdateCompilationAsync>d__192 { private virtual void MoveNext() { ... } }