Crash mid-sequence in latest beta
- Not generally reproducible, although if I understood better the cause of the issue it might be.
- All prerequisites in manual met.
- Running latest beta, updated yesterday afternoon to 2.0.0.2016
Crash during imaging sequence (unattended, so I only have what the log and crash dump tell me). The crash dump is 1.8GB and will not upload here, but I’m happy to share via some other means. My sequence crashed the night before also, but I didn’t capture debug info at that time because I expected it was a fluke with the beta and updated. This time I did, however, and I have debugged the issue in Visual Studio and attached is the relevant info I could determine without getting the pdb/source commit exactly matched up at the right versions. I’m happy to debug it further myself also if I can figure out the right commit for the release since there doesn’t seem to be a tag for each beta release.
Unhandled exception at 0x00007FFB2DB85ABC (clr.dll) in NINA.exe.11212.dmp: 0xC0000005: Access violation reading location 0x0000000100000000.
mscorlib.ni.dll!00007ffb28d11fd3() Unknown
[Managed to Native Transition]
NINA.exe!NINA.ViewModel.ImageControlVM.ProcessAndUpdateImage(NINA.Image.Interfaces.IRenderedImage renderedImage, NINA.Core.Utility.PrepareImageParameters parameters, System.Threading.CancellationToken cancelToken) Unknown
[Resuming Async Method]
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() Line 1070 C#
mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask) Line 810 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3617 C#
mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetResult(System.__Canon result) Line 490 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<NINA.Image.Interfaces.IRenderedImage>.SetResult(NINA.Image.Interfaces.IRenderedImage result) Line 603 C#
[Completed] NINA.exe!NINA.ViewModel.ImageControlVM.ProcessImage(NINA.Image.Interfaces.IRenderedImage renderedImage, NINA.Core.Utility.PrepareImageParameters parameters, System.Threading.CancellationToken cancelToken) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() Line 1070 C#
mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask) Line 810 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3617 C#
mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetResult(System.__Canon result) Line 490 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<NINA.Image.Interfaces.IRenderedImage>.SetResult(NINA.Image.Interfaces.IRenderedImage result) Line 603 C#
[Completed] NINA.Image.dll!NINA.Image.ImageData.DebayeredImage.Stretch(double factor, double blackClipping, bool unlinked) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() Line 1070 C#
mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask) Line 810 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3617 C#
mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetResult(System.__Canon result) Line 490 C#
mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.Windows.Media.Imaging.BitmapSource>.TrySetFromTask(System.Threading.Tasks.Task task, bool lookForOce) Line 7308 C#
mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.Windows.Media.Imaging.BitmapSource>.InvokeCore(System.Threading.Tasks.Task completingTask) Line 7209 C#
mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.__Canon>.Invoke(System.Threading.Tasks.Task completingTask) Line 7185 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3627 C#
mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetResult(System.__Canon result) Line 490 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Windows.Media.Imaging.BitmapSource>.SetResult(System.Windows.Media.Imaging.BitmapSource result) Line 603 C#
[Completed] NINA.Image.dll!NINA.Image.ImageAnalysis.ImageUtility.StretchUnlinked.AnonymousMethod__0() Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() Line 1070 C#
mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask) Line 810 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3617 C#
mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetResult(System.__Canon result) Line 490 C#
mscorlib.dll!System.Threading.Tasks.Task.WhenAllPromise<NINA.Image.Interfaces.IImageStatistics>.Invoke(System.Threading.Tasks.Task ignored) Line 6435 C#
mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations() Line 3627 C#
mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted) Line 2253 C#
mscorlib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot) Line 2830 C#
mscorlib.dll!System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution) Line 2767 C#
mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Line 820 C#
[Native to Managed Transition]
kernel32.dll!BaseThreadInitThunk?() Unknown
ntdll.dll!RtlUserThreadStart?() Unknown
[Async Call Stack]
[Async] NINA.exe!NINA.ViewModel.ImageControlVM.PrepareImage(NINA.Image.Interfaces.IImageData data, NINA.Core.Utility.PrepareImageParameters parameters, System.Threading.CancellationToken cancelToken) Unknown
[Async] NINA.exe!NINA.ViewModel.ImagingVM.PrepareImage.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.exe!NINA.ViewModel.ImagingVM.CaptureAndPrepareImage(NINA.Equipment.Model.CaptureSequence sequence, NINA.Core.Utility.PrepareImageParameters parameters, System.Threading.CancellationToken token, System.IProgress<NINA.Core.Model.ApplicationStatus> progress) Unknown
[Async] NINA.WPF.Base.dll!NINA.WPF.Base.ViewModel.AutoFocus.AutoFocusVM.TakeExposure(NINA.Core.Model.Equipment.FilterInfo filter, System.Threading.CancellationToken token, System.IProgress<NINA.Core.Model.ApplicationStatus> progress) Unknown
[Async] NINA.WPF.Base.dll!NINA.WPF.Base.ViewModel.AutoFocus.AutoFocusVM.GetAverageMeasurement(NINA.Core.Model.Equipment.FilterInfo filter, int exposuresPerFocusPoint, System.Threading.CancellationToken token, System.IProgress<NINA.Core.Model.ApplicationStatus> progress) Unknown
[Async] NINA.WPF.Base.dll!NINA.WPF.Base.ViewModel.AutoFocus.AutoFocusVM.GetFocusPoints(NINA.Core.Model.Equipment.FilterInfo filter, int nrOfSteps, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token, int offset) Unknown
[Async] NINA.WPF.Base.dll!NINA.WPF.Base.ViewModel.AutoFocus.AutoFocusVM.StartAutoFocus(NINA.Core.Model.Equipment.FilterInfo imagingFilter, System.Threading.CancellationToken token, System.IProgress<NINA.Core.Model.ApplicationStatus> progress) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.Autofocus.RunAutofocus.Execute(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Trigger.Autofocus.AutofocusAfterTimeTrigger.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Trigger.SequenceTrigger.Run(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.RunTriggers(NINA.Sequencer.SequenceItem.ISequenceItem previousItem, NINA.Sequencer.SequenceItem.ISequenceItem nextItem, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.RunTriggers(NINA.Sequencer.Container.ISequenceContainer container, NINA.Sequencer.SequenceItem.ISequenceItem previousItem, NINA.Sequencer.SequenceItem.ISequenceItem nextItem, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.RunTriggers(NINA.Sequencer.Container.ISequenceContainer container, NINA.Sequencer.SequenceItem.ISequenceItem previousItem, NINA.Sequencer.SequenceItem.ISequenceItem nextItem, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy.Execute(NINA.Sequencer.Container.ISequenceContainer context, System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Container.SequenceContainer.Execute.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.Sequencer.dll!NINA.Sequencer.SequenceItem.SequenceItem.Run(System.IProgress<NINA.Core.Model.ApplicationStatus> progress, System.Threading.CancellationToken token) Unknown
[Async] NINA.Sequencer.dll!NINA.Sequencer.Sequencer.Start.AnonymousMethod__0() Unknown
[Async] mscorlib.dll!System.Threading.Tasks.Task.Run C#
[Async] NINA.exe!NINA.ViewModel.Sequencer.Sequence2VM.StartSequence(object arg) Unknown
[Async] NINA.Core.dll!NINA.Core.Utility.NotifyTaskCompletion<bool>.WatchTaskAsync(System.Threading.Tasks.Task task) Unknown
[Async] NINA.Core.dll!NINA.Core.Utility.AsyncCommand<bool>.ExecuteAsync(object parameter) Unknown
Locals:
Name | Value | Type | |
---|---|---|---|
◢ | $exception | {"Exception of type 'System.ExecutionEngineException' was thrown."} | System.ExecutionEngineException |
▶ Data | {System.Collections.ListDictionaryInternal} | System.Collections.IDictionary {System.Collections.ListDictionaryInternal} | |
HResult | -2146233082 | int | |
HelpLink | null | string | |
IPForWatsonBuckets | 0x0000000000000000 | System.UIntPtr | |
▶ InnerException | null | System.Exception | |
IsTransient | false | bool | |
Message | "Exception of type 'System.ExecutionEngineException' was thrown." | string | |
RemoteStackTrace | null | string | |
Source | null | string | |
StackTrace | null | string | |
TargetSite | null | System.Reflection.MethodBase | |
WatsonBuckets | null | object | |
_HResult | -2146233082 | int | |
_className | null | string | |
_data | null | System.Collections.IDictionary | |
_dynamicMethods | null | object | |
_exceptionMethod | null | System.Reflection.MethodBase | |
_exceptionMethodString | null | string | |
_helpURL | null | string | |
▶ _innerException | null | System.Exception | |
_ipForWatsonBuckets | 0x0000000000000000 | System.UIntPtr | |
_message | null | string | |
_remoteStackIndex | 0 | int | |
_remoteStackTraceString | null | string | |
▶ _safeSerializationManager | null | System.Runtime.Serialization.SafeSerializationManager | |
_source | null | string | |
_stackTrace | null | object | |
_stackTraceString | null | string | |
_watsonBuckets | null | object | |
_xcode | -532462766 | int | |
_xptrs | 0x0000000000000000 | System.IntPtr | |
▶ Static members | |||
◢ | this | {NINA.ViewModel.ImageControlVM} | NINA.ViewModel.ImageControlVM |
▶ ActiveProfile | {NINA.Profile.Profile} | NINA.Profile.Interfaces.IProfile {NINA.Profile.Profile} | |
AutoStretch | true | bool | |
BahtinovImage | null | NINA.Image.ImageAnalysis.BahtinovImage | |
▶ BahtinovRectangle | {NINA.Core.Utility.ObservableRectangle} | NINA.Core.Utility.ObservableRectangle | |
▶ CameraInfo | {NINA.Equipment.Equipment.MyCamera.CameraInfo} | NINA.Equipment.Equipment.MyCamera.CameraInfo | |
CanClose | true | bool | |
▶ CancelPlateSolveImageCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
ContentId | "ImageControlVM" | string | |
DetectStars | true | bool | |
▶ DragMoveCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
DragResizeBoundary | 10 | double | |
▶ DragStartCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
▶ DragStopCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
▶ HideCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
▶ Image | {System.Windows.Media.Imaging.CachedBitmap} | System.Windows.Media.Imaging.BitmapSource {System.Windows.Media.Imaging.CachedBitmap} | |
▶ ImageGeometry | {System.Windows.Media.GeometryGroup} | System.Windows.Media.GeometryGroup | |
▶ InspectAberrationCommand | {NINA.Core.Utility.AsyncCommand<bool>} | NINA.Core.Utility.IAsyncCommand {NINA.Core.Utility.AsyncCommand<bool>} | |
IsClosed | false | bool | |
IsLiveViewEnabled | false | bool | |
IsTool | false | bool | |
IsVisible | true | bool | |
▶ PixelPeepEndCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
▶ PixelPeepImage | null | System.Windows.Media.Imaging.BitmapSource | |
▶ PixelPeepMoveCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
▶ PixelPeepStartCommand | {NINA.Core.Utility.RelayCommand} | System.Windows.Input.ICommand {NINA.Core.Utility.RelayCommand} | |
PixelPeepValue | 0 | double | |
PixelPeepX | 0 | double | |
PixelPeepY | 0 | double | |
▶ PlateSolveImageCommand | {NINA.Core.Utility.AsyncCommand<bool>} | NINA.Core.Utility.IAsyncCommand {NINA.Core.Utility.AsyncCommand<bool>} | |
▶ PrepareImageCommand | {NINA.Core.Utility.AsyncCommand<bool>} | NINA.Core.Utility.AsyncCommand<bool> | |
▶ PropertyChanged | {Method = {Void OnPropertyChanged(System.Object, System.ComponentModel.PropertyChangedEventArgs)}} | System.ComponentModel.PropertyChangedEventHandler | |
▶ RenderedImage | {NINA.Image.ImageData.DebayeredImage} | NINA.Image.Interfaces.IRenderedImage {NINA.Image.ImageData.DebayeredImage} | |
ShowBahtinovAnalyzer | false | bool | |
ShowCrossHair | false | bool | |
ShowPixelPeeper | false | bool | |
▶ Status | {NINA.Core.Model.ApplicationStatus} | NINA.Core.Model.ApplicationStatus | |
Title | "Image" | string | |
WindowServiceFactory | {NINA.Core.Utility.WindowService.WindowServiceFactory} | NINA.Core.Utility.WindowService.IWindowServiceFactory {NINA.Core.Utility.WindowService.WindowServiceFactory} | |
_autoStretch | true | bool | |
_bahtinovImage | null | NINA.Image.ImageAnalysis.BahtinovImage | |
_canClose | true | bool | |
_detectStars | true | bool | |
▶ _image | {System.Windows.Media.Imaging.CachedBitmap} | System.Windows.Media.Imaging.BitmapSource {System.Windows.Media.Imaging.CachedBitmap} | |
▶ _imageGeometry | {System.Windows.Media.GeometryGroup} | System.Windows.Media.GeometryGroup | |
_isClosed | false | bool | |
_isVisible | true | bool | |
▶ _plateSolveToken | null | System.Threading.CancellationTokenSource | |
▶ _prepImageCancellationSource | null | System.Threading.CancellationTokenSource | |
▶ _prepImageTask | null | System.Threading.Tasks.Task | |
▶ _progress | {System.Progress<NINA.Core.Model.ApplicationStatus>} | System.IProgress<NINA.Core.Model.ApplicationStatus> {System.Progress<NINA.Core.Model.ApplicationStatus>} | |
▶ _rectangle | {NINA.Core.Utility.ObservableRectangle} | NINA.Core.Utility.ObservableRectangle | |
▶ _renderedImage | {NINA.Image.ImageData.DebayeredImage} | NINA.Image.Interfaces.IRenderedImage {NINA.Image.ImageData.DebayeredImage} | |
_showBahtinovAnalyzer | false | bool | |
_showCrossHair | false | bool | |
▶ _status | {NINA.Core.Model.ApplicationStatus} | NINA.Core.Model.ApplicationStatus | |
_titleLabel | "Image" | string | |
▶ applicationStatusMediator | {NINA.WPF.Base.Mediator.ApplicationStatusMediator} | NINA.WPF.Base.Interfaces.Mediator.IApplicationStatusMediator {NINA.WPF.Base.Mediator.ApplicationStatusMediator} | |
▶ cameraInfo | {NINA.Equipment.Equipment.MyCamera.CameraInfo} | NINA.Equipment.Equipment.MyCamera.CameraInfo | |
▶ cameraMediator | {NINA.WPF.Base.Mediator.CameraMediator} | NINA.Equipment.Interfaces.Mediator.ICameraMediator {NINA.WPF.Base.Mediator.CameraMediator} | |
▶ pixelPeepImage | null | System.Windows.Media.Imaging.BitmapSource | |
pixelPeepValue | 0 | double | |
pixelPeepX | 0 | double | |
pixelPeepY | 0 | double | |
▶ profileService | {NINA.Profile.ProfileService} | NINA.Profile.Interfaces.IProfileService {NINA.Profile.ProfileService} | |
showPixelPeeper | false | bool | |
▶ telescopeMediator | {NINA.WPF.Base.Mediator.TelescopeMediator} | NINA.Equipment.Interfaces.Mediator.ITelescopeMediator {NINA.WPF.Base.Mediator.TelescopeMediator} | |
windowServiceFactory | null | NINA.Core.Utility.WindowService.IWindowServiceFactory | |
▶ Static members | |||
◢ | renderedImage | {NINA.Image.ImageData.DebayeredImage} | NINA.Image.Interfaces.IRenderedImage {NINA.Image.ImageData.DebayeredImage} |
◢ DebayeredData | {NINA.Image.ImageData.LRGBArrays} | NINA.Image.ImageData.LRGBArrays | |
▶ Blue | {ushort[9048064]} | ushort[] | |
▶ Green | {ushort[9048064]} | ushort[] | |
Lum | {ushort[0]} | ushort[] | |
▶ Red | {ushort[9048064]} | ushort[] | |
◢ Image | {System.Windows.Media.Imaging.CachedBitmap} | System.Windows.Media.Imaging.BitmapSource {System.Windows.Media.Imaging.CachedBitmap} | |
Animatable_IsResourceInvalidationNecessary | false | bool | |
▶ CachedEventStorage | {System.Windows.Freezable.EventStorage} | System.Windows.Freezable.EventStorage | |
CanBeInheritanceContext | true | bool | |
CanFreeze | true | bool | |
CanModifyEffectiveValues | true | bool | |
ContextList | null | MS.Utility.FrugalObjectList<System.Windows.Freezable.FreezableContextPair> | |
CreationCompleted | false | bool | |
DO_Sealed | true | bool | |
DUCECompatiblePtr | Evaluation of method System.Windows.Media.Imaging.BitmapSource.get_DUCECompatiblePtr() calls into native method MS.Win32.PresentationCore.UnsafeNativeMethods+MILFactory2.CreateFactory(System.IntPtr&, System.UInt32). Evaluation of native methods while minidump debugging is not supported. | System.Windows.Media.Imaging.BitmapSourceSafeMILHandle | |
DelayCreation | false | bool | |
▶ DependencyObjectType | {System.Windows.DependencyObjectType} | System.Windows.DependencyObjectType | |
▶ Dispatcher | null | System.Windows.Threading.Dispatcher | |
DpiX | 96 | double | |
DpiY | 96 | double | |
EffectiveValues | null | System.Windows.EffectiveValueEntry[] | |
EffectiveValuesCount | 0 | uint | |
EffectiveValuesInitialSize | 2 | int | |
▶ Format | {Rgb48} | System.Windows.Media.PixelFormat | |
Freezable_Frozen | true | bool | |
Freezable_HasMultipleInheritanceContexts | false | bool | |
Freezable_UsingContextList | false | bool | |
Freezable_UsingHandlerList | false | bool | |
Freezable_UsingSingletonContext | false | bool | |
Freezable_UsingSingletonHandler | false | bool | |
HandlerList | null | MS.Utility.FrugalObjectList<System.EventHandler> | |
HasAnimatedProperties | false | bool | |
HasCompatibleFormat | false | bool | |
HasContextInformation | false | bool | |
HasHandlers | false | bool | |
HasMultipleInheritanceContexts | false | bool | |
Height | 3008 | double | |
IAnimatable_HasAnimatedProperties | false | bool | |
InheritableEffectiveValuesCount | 0 | uint | |
▶ InheritanceContext | null | System.Windows.DependencyObject | |
▶ InheritanceParent | null | System.Windows.DependencyObject | |
IsDownloading | false | bool | |
IsFrozen | true | bool | |
IsFrozenInternal | true | bool | |
IsInPropertyInitialization | false | bool | |
IsInheritanceContextSealed | false | bool | |
IsSealed | true | bool | |
IsSelfInheritanceParent | false | bool | |
IsSourceCached | true | bool | |
▶ Metadata | null | System.Windows.Media.ImageMetadata | |
▶ Palette | null | System.Windows.Media.Imaging.BitmapPalette | |
PixelHeight | 3008 | int | |
PixelWidth | 3008 | int | |
ShouldCloneEventDelegates | true | bool | |
▶ SingletonContext | null | System.Windows.DependencyObject | |
▶ SingletonContextProperty | null | System.Windows.DependencyProperty | |
SingletonHandler | null | System.EventHandler | |
▶ Size | {3008,3008} | System.Windows.Size | |
▶ SyncObject | {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | object {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | |
System.Windows.ISealable.CanSeal | true | bool | |
System.Windows.ISealable.IsSealed | true | bool | |
UsableWithoutCache | false | bool | |
▶ WicSourceHandle | {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | System.Windows.Media.Imaging.BitmapSourceSafeMILHandle | |
Width | 3008 | double | |
▶ _bitmapInit | {System.Windows.Media.Imaging.BitmapInitialize} | System.Windows.Media.Imaging.BitmapInitialize | |
_cacheOption | OnLoad | System.Windows.Media.Imaging.BitmapCacheOption | |
_contextStorage | null | object | |
▶ _convertedDUCEPtr | null | System.Windows.Media.Imaging.BitmapSourceSafeMILHandle | |
_createOptions | PreservePixelFormat | System.Windows.Media.Imaging.BitmapCreateOptions | |
_creationComplete | false | bool | |
▶ _dType | null | System.Windows.DependencyObjectType | |
▶ _decodeFailedEvent | {System.Windows.Media.UniqueEventHelper<System.Windows.Media.ExceptionEventArgs>} | System.Windows.Media.UniqueEventHelper<System.Windows.Media.ExceptionEventArgs> | |
_delayCreation | false | bool | |
▶ _dispatcher | null | System.Windows.Threading.Dispatcher | |
▶ _downloadEvent | {System.Windows.Media.UniqueEventHelper} | System.Windows.Media.UniqueEventHelper | |
_dpiX | 96 | double | |
_dpiY | 96 | double | |
▶ _duceResource | {System.Windows.Media.Composition.DUCE.MultiChannelResource} | System.Windows.Media.Composition.DUCE.MultiChannelResource | |
_effectiveValues | null | System.Windows.EffectiveValueEntry[] | |
▶ _failedEvent | {System.Windows.Media.UniqueEventHelper<System.Windows.Media.ExceptionEventArgs>} | System.Windows.Media.UniqueEventHelper<System.Windows.Media.ExceptionEventArgs> | |
▶ _format | {Rgb48} | System.Windows.Media.PixelFormat | |
_isColorCorrected | false | bool | |
_isSourceCached | true | bool | |
_needsUpdate | false | bool | |
_packedData | 6815744 | uint | |
▶ _palette | null | System.Windows.Media.Imaging.BitmapPalette | |
_pixelHeight | 3008 | int | |
_pixelWidth | 3008 | int | |
▶ _progressEvent | {System.Windows.Media.UniqueEventHelper<System.Windows.Media.Imaging.DownloadProgressEventArgs>} | System.Windows.Media.UniqueEventHelper<System.Windows.Media.Imaging.DownloadProgressEventArgs> | |
▶ _property | null | System.Windows.DependencyProperty | |
▶ _source | null | System.Windows.Media.Imaging.BitmapSource | |
▶ _syncObject | {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | object {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | |
_useVirtuals | true | bool | |
_weakBitmapSourceEventSink | null | System.Windows.Media.Imaging.BitmapSource.WeakBitmapSourceEventSink | |
▶ _wicSource | {System.Windows.Media.Imaging.BitmapSourceSafeMILHandle} | System.Windows.Media.Imaging.BitmapSourceSafeMILHandle | |
▶ Static members | |||
▶ OriginalImage | {System.Windows.Media.Imaging.CachedBitmap} | System.Windows.Media.Imaging.BitmapSource {System.Windows.Media.Imaging.CachedBitmap} | |
PropertyChanged | null | System.ComponentModel.PropertyChangedEventHandler | |
▶ RawImageData | {NINA.Image.ImageData.BaseImageData} | NINA.Image.Interfaces.IImageData {NINA.Image.ImageData.BaseImageData} | |
SaveColorChannels | true | bool | |
SaveLumChannel | false | bool | |
▶ image | null | System.Windows.Media.Imaging.BitmapSource | |
▶ profileService | {NINA.Profile.ProfileService} | NINA.Profile.Interfaces.IProfileService {NINA.Profile.ProfileService} | |
▶ starAnnotator | {NINA.Image.ImageAnalysis.StarAnnotator} | NINA.Image.ImageAnalysis.IStarAnnotator {NINA.Image.ImageAnalysis.StarAnnotator} | |
▶ starDetection | {NINA.Image.ImageAnalysis.StarDetection} | NINA.Image.ImageAnalysis.IStarDetection {NINA.Image.ImageAnalysis.StarDetection} | |
▶ Static members | |||
◢ | parameters | {NINA.Core.Utility.PrepareImageParameters} | NINA.Core.Utility.PrepareImageParameters |
AutoStretch | true | bool? | |
DetectStars | false | bool? | |
◢ | cancelToken | IsCancellationRequested = false | System.Threading.CancellationToken |
CanBeCanceled | true | bool | |
IsCancellationRequested | false | bool | |
WaitHandle | Evaluation of method System.Threading.CancellationToken.get_WaitHandle() calls into native method Microsoft.Win32.Win32Native.CreateEvent(Microsoft.Win32.Win32Native+SECURITY_ATTRIBUTES, bool, bool, string). Evaluation of native methods while minidump debugging is not supported. | System.Threading.WaitHandle | |
▶ m_source | {System.Threading.CancellationTokenSource} | System.Threading.CancellationTokenSource | |
▶ Static members | |||
◢ | Stack objects | ||
▶ Object at 0x00000249465caec8 | {System.Threading.ExecutionContext} | System.Threading.ExecutionContext | |
▶ Object at 0x00000249465cae20 | Id = 4475404, Status = RanToCompletion, Method = "{null}", Result = "NINA.Image.ImageData.DebayeredImage" | System.Threading.Tasks.Task<NINA.Image.Interfaces.IRenderedImage> | |
▶ Object at 0x000002497310bc00 | {System.ComponentModel.PropertyChangedEventArgs} | System.ComponentModel.PropertyChangedEventArgs | |
▶ Object at 0x0000024936c53d20 | {System.ComponentModel.PropertyChangedEventManager} | System.ComponentModel.PropertyChangedEventManager | |
▶ Object at 0x0000024936fc55e8 | {NINA.ViewModel.ImageControlVM} | NINA.ViewModel.ImageControlVM |
Comments (11)
-
repo owner -
reporter Thanks I’ll see if I can find the commit and get the dmp, pdb, and source to match up. Additionally I’ve uploaded the dump file to google drive here: https://drive.google.com/file/d/1mVs485oNk95N4qxvNIBnfx3qMy6BSumi/view?usp=sharing
-
reporter I’ve set up a full development environment for NINA and got it building on the correct commit, but I haven’t found anything else useful out yet. Nothing in the function the dump indicates as the cause seems immediately suspicious:
private async Task<IRenderedImage> ProcessAndUpdateImage( IRenderedImage renderedImage, PrepareImageParameters parameters, CancellationToken cancelToken) { var processedImage = await ProcessImage(renderedImage, parameters, cancelToken); this.RenderedImage = processedImage; this.Image = processedImage.Image; GC.Collect(); if (ShowBahtinovAnalyzer) { AnalyzeBahtinov(); } return processedImage; }
Because I can’t get Visual Studio to accept the pdb from either the installed version of NINA or the version I just built I’m looking at it in disassembly and code in parallel without it properly linking up in the debugger, so it’s a bit of a challenge to tell exactly where the issue lies.
00007FFACFE9FA27 call NINA.ViewModel.ImageControlVM.set_Image(System.Windows.Media.Imaging.BitmapSource) (07FFACE584018h) 00007FFACFE9FA2C mov ecx,0FFFFFFFFh 00007FFACFE9FA31 mov edx,2 00007FFACFE9FA36 call System.GC._Collect(Int32, Int32) (07FFACFE54788h) 00007FFACFE9FA3B cmp byte ptr [rsi+35h],0 00007FFACFE9FA3F je NINA.ViewModel.ImageControlVM+<ProcessAndUpdateImage>d__134.MoveNext()+0149h (07FFACFE9FA49h) 00007FFACFE9FA41 mov rcx,rsi 00007FFACFE9FA44 call NINA.ViewModel.ImageControlVM.AnalyzeBahtinov() (07FFACE583F40h)
The disassembly crash breakpoint is the branch comparison on line 5 there.
-
This looks like it crashed during garbage collection, which suggests managed heap corruption or a failed finalizer accessing native memory. Has this happened multiple times for you?
This is a notoriously difficult type of issue to track down without a way of reproducing it. If you’re able to reproduce it, we can set up an iDNA time traveling trace to help chase it down, otherwise we’ll need to remain on the lookout.
-
Looks like this is actually a managed heap corruption then. Didn’t even make it into a finalizer:
EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 00007ffb2db85abc (clr!WKS::gc_heap::plan_phase+0x00000000000009bc) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000001 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: 0000000100000000 Attempt to read from address 0000000100000000 PROCESS_NAME: NINA.exe READ_ADDRESS: 0000000100000000 ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s. EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 0000000000000000 EXCEPTION_PARAMETER2: 0000000100000000 STACK_TEXT: 000000be`4ddfd620 00007ffb`2db7d80e : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000002 : clr!WKS::gc_heap::plan_phase+0x9bc 000000be`4ddfd980 00007ffb`2db7d713 : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000000 : clr!WKS::gc_heap::gc1+0x100 000000be`4ddfd9d0 00007ffb`2db7f707 : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000002 : clr!WKS::gc_heap::garbage_collect+0x193 000000be`4ddfda10 00007ffb`2dc11b81 : 00000000`00000002 00000249`00000002 00000000`00000002 00000000`00000002 : clr!WKS::GCHeap::GarbageCollectGeneration+0xef 000000be`4ddfda60 00007ffb`2dc0d87d : 00007ffb`2dc11af0 000000be`4ddfdbe0 00000000`00000002 00000002`00000003 : clr!WKS::GCHeap::GarbageCollect+0x91 000000be`4ddfdab0 00007ffb`28d11fd3 : 00000249`63e00090 00007ffa`cfe33e2f 00000000`00000000 00000000`00000000 : clr!GCInterface::Collect+0x6a 000000be`4ddfdb40 00007ffa`cfe9fa3b : 00000249`36c53d20 00000249`36fc55e8 00000249`7310bc00 00007ffb`28cd19e5 : mscorlib_ni+0x641fd3 000000be`4ddfdbf0 00007ffb`28c5df12 : 00000249`465cafd8 000000be`4ddfdc00 00007ffa`fd164172 000000be`4ddfdca0 : 0x00007ffa`cfe9fa3b
-
Lastly, if you’re feeling particularly adventurous, you could try steps 3-5 from this SO answer: https://stackoverflow.com/a/7792360
The general idea is to enable many forms of runtime memory checks and run the application under a debugger to catch it in the act. Managed heap corruption is likely P/Invoke related, possibly with the ASI driver based on what I saw in the log. Beyond that is hard to say without catching it in the act.
-
reporter It happened twice to the best of my knowledge. The first night it happened I didn’t get a crash dump, though, so I can’t prove it was the same crash. It seems likely, however, as I haven’t ever had NINA crash before for any other reason. I can’t definitively rule out hardware causing the issue, either, since it was quite cold those two nights. My imaging computer is inside a plastic box that stays pretty warm with the computer and my 12v power supply warming it, so I doubt that was an issue, but it’s not impossible.
-
reporter I’m willing to utilize several days of scope downtime to run it 24/7 producing darks in an attempt to reproduce using your idea from the SO above. I’ll bring the computer inside to rule out anything cold temperature related causing issues. I’ll set up this test soon to take advantage of the poor weather predicted for the next week or so.
-
reporter Despite extensive efforts I have not been able to reproduce this issue. I am ascribing it to cold-induced hardware issues.
-
reporter - changed status to invalid
-
repo owner - removed version
Removing version: 2.0 Beta (automated comment)
- Log in to comment
Hi,
each version has a separate commit instead of a tag for nightly and beta versions.
Looking at the nina log it seems like the debayering process was causing the failure - a crash dump could reveal more info.