Exception thrown after completion of Trained Flat Exposures instruction

Issue #1059 closed
Kyle Goodwin created an issue

I received a failure message via Pushover last night for each of my flat instructions despite them completing successfully and saving all the scheduled flats correctly. NINA did not crash, nothing even malfunctioned with the sequence other than it marked each of my three Trained Flat Exposures instructions as 30/30, but failed and it sent the failure notification. The flats were taken with an ASCOM cover calibrator device and QHY268M camera/QHY CFW3M-US filter wheel connected via the native driver. Flats were trained using the flat wizard with a fixed exposure of 3s and variable panel brightness. I’ve broken down the setup now so I can’t immediately see if there’s a way to reproduce the behavior with a new sequence, but I can reassemble it inside later and try it again.

I am running version 2.0.0.2034. There is no corresponding event log message. Here is the NINA log:

2022-01-24T00:51:31.1486|INFO|SequenceItem.cs|Run|213|Finishing Category: * Instruction Set *, Item: NINA.Sequencer.Container.SequentialContainer, Strategy: SequentialStrategy, Items: 1, Conditions: Condition: LoopCondition, Iterations: 30/30,  Triggers: 
2022-01-24T00:51:31.1496|ERROR|SequenceItem.cs|Run|222|Category: Flat Device, Item: NINA.Sequencer.SequenceItem.FlatDevice.TrainedFlatExposure, Strategy: SequentialStrategy, Items: 7, Conditions:  Triggers:  - 
System.NullReferenceException: Object reference not set to an instance of an object.
   at DaleGhent.NINA.GroundStation.FailuresToPushoverTrigger.FailuresToPushoverTrigger.ShouldTriggerAfter(ISequenceItem previousItem, ISequenceItem nextItem) in E:\repos\nina-ground-station\Pushover\FailuresToPushoverTrigger.cs:line 113
   at NINA.Sequencer.Container.SequenceContainer.<RunTriggersAfter>d__65.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\SequenceContainer.cs:line 501
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 150
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 151
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 151
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 151
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 151
--- 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 NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<RunTriggersAfter>d__6.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 151
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.<Execute>d__1.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\ExecutionStrategy\SequentialStrategy.cs:line 51
--- 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 NINA.Sequencer.Container.SequenceContainer.<>c__DisplayClass49_0.<<Execute>b__0>d.MoveNext() in E:\Projects\nina\NINA.Sequencer\Container\SequenceContainer.cs:line 262
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at NINA.Sequencer.SequenceItem.SequenceItem.<Run>d__64.MoveNext() in E:\Projects\nina\NINA.Sequencer\SequenceItem\SequenceItem.cs:line 213
2022-01-24T00:51:31.1506|ERROR|SequenceItem.cs|RunErrorBehavior|182|Instruction failed after 1 attempt. Error behavior is set to ContinueOnError. Continuing.
2022-01-24T00:51:31.1506|DEBUG|Utilities.cs|GetFailedItem|181|Failed item: Trained Flat Exposure, Reason count: 1
2022-01-24T00:51:31.1506|INFO|SequenceTrigger.cs|Run|100|Starting Category: Ground Station, Item: FailuresToPushoverTrigger
2022-01-24T00:51:31.1536|DEBUG|PushoverCommon.cs|PushMessage|37|Pushing message

Comments (6)

  1. Kyle Goodwin reporter

    @Dale Ghent I’ve uploaded the complete log. As far as I can tell nothing interesting happened before the trained flat exposures generated the erroneous failure messages. Thank you for looking at this, I love the Ground Station plugin!

  2. Log in to comment