Forum

.net exception, can not tell why

I do not understand what this exception is saying. Can anyone spot the problem?
It is gamma 2021.3.3 The patch was autostarted and running unattended for few hours with no user interaction.

Edit: Can you tell from the report if the exception occured on startup or after some time?
Also the patch was started with -allowmultiple arg. There is an other gamma instance running in parallel which was fine.

Exception

`See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.AggregateException: One or more errors occurred. —> System.AggregateException: One or more errors occurred. —> System.NullReferenceException: Object reference not set to an instance of an object.
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.Import()
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.get_ImportedTypes()
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.<>c__DisplayClass60_0.b__0(String c)
at System.Collections.Immutable.ImmutableInterlocked.GetOrAdd[TKey,TValue](ImmutableDictionary2& location, TKey key, Func2 valueFactory)
at VL.Lang.Symbols.ChoiceBasedReferenceSymbol1.GetSymbolSource(Boolean fast, ISymbolSource fallBack) at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.GetCandidates() at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_Candidates() at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_ResolvedSymbol() at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_8.<.ctor>g__InitializePatches|43(<>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol..ctor(ISymbol parent, IPatch patchElement, BuildContext context) at VL.Lang.Symbols.ConcreteTypeSymbol.<get_Bodies>g__Compute|99_0() at VL.Lang.Symbols.PatchedConcreteTypeSymbol.<get_Fields>g__Compute|23_0() at VL.Lang.Symbols.PatchedConcreteTypeSymbol.get_Fields() at VL.Lang.Symbols.PreCompilation.<InitializeAsync>g__FinalizeDefinition|8_14(IPatchedTopLevelDefinitionSymbol def) at VL.Lang.Symbols.PreCompilation.<InitializeAsync>g__FinalizeDefinitions|8_13(HashSet1 definitions)
at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.g__Compile|7(Vertex1 blob) at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.<InitializeAsync>b__21(Vertex1 blob)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body)
at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.b__3(IProjectSymbol project)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body)
at VL.Lang.Symbols.PreCompilation.d__8.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Lang.Symbols.PreCompilation.d__3.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Lang.Symbols.PreCompilation.d__9.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Model.VLSession.d__135.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Model.VLSession.d__132.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at VL.Model.VLSession.d__132.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Model.VLSession.d__129.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Model.VLSession.d__126.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.Model.VLSession.d__113.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.VLContext.d__20.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at VL.VLContext.d__19.MoveNext()
—> (Inner Exception #0) System.AggregateException: One or more errors occurred. —> System.NullReferenceException: Object reference not set to an instance of an object.
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.Import()
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.get_ImportedTypes()
at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.<>c__DisplayClass60_0.b__0(String c)
at System.Collections.Immutable.ImmutableInterlocked.GetOrAdd[TKey,TValue](ImmutableDictionary2& location, TKey key, Func2 valueFactory)
at VL.Lang.Symbols.ChoiceBasedReferenceSymbol1.GetSymbolSource(Boolean fast, ISymbolSource fallBack) at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.GetCandidates() at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_Candidates() at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_ResolvedSymbol() at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_8.<.ctor>g__InitializePatches|43(<>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& ) at VL.Lang.Symbols.PatchSymbol..ctor(ISymbol parent, IPatch patchElement, BuildContext context) at VL.Lang.Symbols.ConcreteTypeSymbol.<get_Bodies>g__Compute|99_0() at VL.Lang.Symbols.PatchedConcreteTypeSymbol.<get_Fields>g__Compute|23_0() at VL.Lang.Symbols.PatchedConcreteTypeSymbol.get_Fields() at VL.Lang.Symbols.PreCompilation.<InitializeAsync>g__FinalizeDefinition|8_14(IPatchedTopLevelDefinitionSymbol def) at VL.Lang.Symbols.PreCompilation.<InitializeAsync>g__FinalizeDefinitions|8_13(HashSet1 definitions)
at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.g__Compile|7(Vertex1 blob) at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.<InitializeAsync>b__21(Vertex1 blob)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Func4 bodyWithLocal, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body, Action2 bodyWithState, Action3 bodyWithStateAndIndex, Func4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func1 localInit, Action1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable1 source, ParallelOptions parallelOptions, Action1 body)
at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.b__3(IProjectSymbol project)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) ---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object. at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.Import() at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.get_ImportedTypes() at VL.Lang.Platforms.Roslyn.AssemblySymbolSource.<>c__DisplayClass60_0.<SymbolSourceForCategoryOrDefault>b__0(String c) at System.Collections.Immutable.ImmutableInterlocked.GetOrAdd[TKey,TValue](ImmutableDictionary2& location, TKey key, Func2 valueFactory) at VL.Lang.Symbols.ChoiceBasedReferenceSymbol1.GetSymbolSource(Boolean fast, ISymbolSource fallBack)
at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.GetCandidates()
at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_Candidates()
at VL.Lang.Symbols.ChoiceBasedNodeReferenceSymbol.get_ResolvedSymbol()
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_8.<.ctor>g__InitializePatches|43(<>c__DisplayClass5_0& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeNode|39(PatchedNodeSymbol node, <>c__DisplayClass5_0& , <>c__DisplayClass5_7& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializeSymbols|9(Builder localSymbols, <>c__DisplayClass5_0& )
at VL.Lang.Symbols.PatchSymbol.<>c__DisplayClass5_1.<.ctor>g__InitializePatch|8(PatchSymbol patch, IPatch description, Boolean mustAlign, <>c__DisplayClass5_0& )
at VL.Lang.Symbols.PatchSymbol…ctor(ISymbol parent, IPatch patchElement, BuildContext context)
at VL.Lang.Symbols.ConcreteTypeSymbol.<get_Bodies>g__Compute|99_0()
at VL.Lang.Symbols.PatchedConcreteTypeSymbol.<get_Fields>g__Compute|23_0()
at VL.Lang.Symbols.PatchedConcreteTypeSymbol.get_Fields()
at VL.Lang.Symbols.PreCompilation.g__FinalizeDefinition|8_14(IPatchedTopLevelDefinitionSymbol def)
at VL.Lang.Symbols.PreCompilation.g__FinalizeDefinitions|8_13(HashSet1 definitions) at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.<InitializeAsync>g__Compile|7(Vertex1 blob)
at VL.Lang.Symbols.PreCompilation.<>c__DisplayClass8_0.b__21(Vertex1 blob) at System.Threading.Tasks.Parallel.<>c__DisplayClass17_01.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<—
<—`

Did you install any nuget packages in between the working and the broken state? You could try backing up that folder (‘user folder/appdata/local/vvvv/gamma/nuggets’) and start again. If it comes up then you have some package in there our system doesn’t like. At least the error hints in that direction - it has an issue with some dll being loaded - not sure which.

Yes actually there is an external DLL loaded which in turn has another DLL dependency, but they worked and seemed fine so far.
They are not essential to the project so i will remove them now for sure.
image

I am attaching the project folder of this plugin, maybe you can spot why it is unstable or what i have done wrong.
TempSensor.zip (92.1 KB)

Hm not quite sure what I should be looking for. Compiled your project file in there and opened the patch without any issues. What are the specific steps to get to the crash you reported initially?

Since you said it looks like there was an issue with a loaded dll, i hoped you can spot the problem with that code. The thing is the patch and the plugin work just fine most of the time it seems. There were no steps to reproduce the exception. Like i said the patch autostarted like every morning and was not touched/edited/whatever. Had it running lot of times for longer time and there was never an issue until this morning when the client called and reported the patch has crashed.
Just hoped there is something wrong/unusual/silly with the plugin code that gamma does not like.

And now it’s always crashing? Or is it sill running (sometimes)?

It did not crash again since the morning :) I will remove the plugin tonight though. The patch runs at an installation at a client. Want not risk a crash again if it is caused by that plugin which is just a gimmick to monitor temperature.