Crash imaging with Nikon camera

Issue #1141 new
Christopher Crocker created an issue

When I try to image with my nikon d5300 i am able to get one image, but on the second one it fails to grab the image from the camera and crashes when the timeout is reached. I have also tested with my ASI120mc guide camera and it works flawlessly.

The issue also seems to happen when any camera takes a photo, then i try to use the nikon. Tested by taking several photos with the asi camera then disconnecting it, and connecting the nikon. Nikon camera failed on the first image.

Also tested nikon camera with digicamcontrol and APT, works fine on both tools

Steps to Reproduce

  • Connect camera (mine is a nikon d5300)
  • Image, either through the imaging tool or the sequence tool
  • first image will be taken and work fine
  • second image will reach the end of the exposure timer, and then stop with no errors or other messages
  • when the camera timeout is reached, NINA crashes

Expected behavior

Nina should download image from camera and continue to the next shot / display the image in the imaging tool

Actual behavior

camera freezes up when the timer reaches its end and then nina crashes after the camera timeout is reached

Logs were unenlightening

Comments (4)

  1. Peter Eriksson

    I have kinda the same issue, but for me it happens with exposures over 30 seconds.
    It HAS worked during the springtime.
    I use a Nikon D5000, I know the settings are Manual/Bulb and Single shot. Im not that good with DSLR settings in general.

  2. Solitaire

    I try to image with Nikon D750 and the same issue happened.

    There was an error when it connected to my camera. Everything looks fine then. But ater exposuring, nina crashes and nothing has been logged.

    2022-08-16T00:18:38.0933|ERROR|NikonCamera.cs|GetShutterSpeeds|236|Unexpected Shutter Speed: 
    System.FormatException: Input string was not in a correct format.
       at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
       at NINA.Equipment.Equipment.MyCamera.NikonCamera.GetShutterSpeeds() in E:\Projects\nina\NINA.Equipment\Equipment\MyCamera\NikonCamera.cs:line 223
    2022-08-16T00:18:38.7359|INFO|CameraVM.cs|ChooseCamera|437|Successfully connected Camera. Id: Nikon Name: D750 Driver Version: 
    2022-08-16T00:19:44.3143|INFO|CameraVM.cs|Capture|729|Starting Exposure - Exposure Time: 1s; Filter: ; Gain: 100; Offset -1; Binning: 1x1;
    

    Update: I installed an open source DSLR driver and it worked perfectly. So there should be a bug on NINA built in driver for Nikon DSLR.

  3. Robert Clouser

    I sometimes encounter this same issue. But it might crash after taking many exposures. I'm running NINA 2.2.0.9001 on a Mele Quieter 3Q running Windows 11 and a Nikon D5300 camera. What happens is the camera is taking an exposure and it never finishes and then the NINA window just disappears. This happened last night, after successfully taking 103 exposures. There is nothing in the log file. Here's the info from the windows event viewer (where it shows as a .NET runtime error):

    Application: NINA.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: Nikon.NikonException
    at Nikon.NikonTaskQueue.Invoke(System.Delegate, System.Object[])
    at Nikon.NikonBase.Start(Nikon.eNkMAIDCapability, Nikon.eNkMAIDDataType, IntPtr)
    at Nikon.NikonDevice.StopBulbCapture()
    at NINA.Equipment.Equipment.MyCamera.NikonCamera.<WaitUntilExposureIsReady>b__186_0()
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Threading.CancellationCallbackInfo.ExecuteCallback()
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)

    Exception Info: System.AggregateException
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)
    at System.Threading.CancellationTokenSource.NotifyCancellation(Boolean)
    at System.Threading.CancellationTokenSource.LinkedTokenCancelDelegate(System.Object)
    at System.Threading.CancellationCallbackInfo.ExecuteCallback()
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)

    Exception Info: System.AggregateException
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)
    at System.Threading.CancellationTokenSource.NotifyCancellation(Boolean)
    at System.Threading.CancellationTokenSource.LinkedTokenCancelDelegate(System.Object)
    at System.Threading.CancellationCallbackInfo.ExecuteCallback()
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)

    Exception Info: System.AggregateException
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)
    at System.Threading.CancellationTokenSource.NotifyCancellation(Boolean)
    at System.Threading.CancellationTokenSource.LinkedTokenCancelDelegate(System.Object)
    at System.Threading.CancellationCallbackInfo.ExecuteCallback()
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)

    Exception Info: System.AggregateException
    at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)
    at System.Threading.CancellationTokenSource.NotifyCancellation(Boolean)
    at System.Threading.CancellationTokenSource.TimerCallbackLogic(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.TimerQueueTimer.CallCallback()
    at System.Threading.TimerQueueTimer.Fire()
    at System.Threading.TimerQueue.FireNextTimers()

  4. Log in to comment