Hello all,
This Abort failure issue is sure a pain in the butt, the thing that is noticeable is that it seems to happen in different situations, under differing circumstances but pretty much ends with a similar result for all who experience it. This will always make it difficult to find the cause. I have intermediate programing experience with Visual Basic so I know myself that when trawling through 4500 lines of code for a bug is not easy. I have no doubt that SGP is rather larger though so I don’t envy the Guys. LOLOL
So im trying to look at this now as a single cause within SGP’s code as opposed to the understandable notion that there may be multiple bugs, each of which is solely responsible for each of our own unique described circumstances.
On the grounds of my uneducated assumption I have created a SGP file which consistently reproduces one instance of said ‘Abort Failure’ every time a sequence of events is performed, my hope is that the ‘Main Men’ can use the following attachments to identify why the abort failure is happening and ultimately solve it. Further, if the cause of this particular ‘Abort Failure’ can be squashed then my hope is that it will also solve it automatically in other circumstances, nameable the situations where Swag, Andy and Barry have experienced theirs.
Here’s to the possibility of saying goodbye to this terrible disease !
So Here we go for Bug Squash - Try 1
One thing which Ken has previously stated is that using 100% ASCOM Simulators rules out any complications of differences in peoples kit, it means that all of us can load up the sims and be all in the same boat. Operating systems are not so easy to reproduce as some are on Win 7, some on Win 10 some on MAC’s etc. So here is my Basic setup which was used to run this SGP file for reference:
Op System: Windows 7 Home Premium 64bit
ASCOM Version: ASCOM 6.2 freshly installed
SGP Version: 2.5.0.1
Camera Sim: ASCOM V2 Simulator
Mount: EQMOD ASCOM Simulator
I have no doubt that all of us have our own unique Profiles set up in SGP so here is a possible stumbling block to attempting to reproduce issues so I have set up a test Profile with absolute minimum kit which you can paste into your relevant folder and apply to the sequence, this profile uses only the V2 camera sim and the EQMOD ASCOM Simulator for the mount, ‘Park on sequence complete’ and ‘Stop tracking on sequence complete’ are the only options enabled here as when ‘I’ experience the abort failure it tends not to park the mount. So download the following file from my dropbox:
minimum.sgp
https://dl.dropboxusercontent.com/u/4938813/Minimal.sgp
Place this file in the following location:
C:\Users\ [pscamm] \AppData\Local\SequenceGenerator\Sequence Generator Pro
(where I have [pscamm] this will be a unique name on your computer)
Also download the following file so you can load up the test sequence I used:
https://dl.dropboxusercontent.com/u/4938813/Abort_Failure.sgf
** Steps To Reproduce **
We are going to do this in 3 stages so here’s stage 1
-
Fire up SGP 2.5.0.1
-
File->Open Sequence and load up the ‘Abort_Failure’ file - You should have one target M33 - I’d be curious if anyone experiences an ‘Unhandled Exception’ when loading this file ???
-
Apply the ‘Minimum’ profile to the sequence
-
Open up the V2 Camera’s settings and change the ‘Type’ to RGGB and it’s resolution to 1600W 1200H
-
Connect the Camera and the Mount Sim
-
Run the sequence all the way to the end, watch the Mount sim to confirm it slews to M33 and back to Park at the end of the sequence. Its only a 1min 40sec sequence
Nice an simple, your mount sim should have parked at the end of the sequence
Stage 2
Here we are going to Abort the sequence at some point
-
Close the image in the view and reset the sequence using Sequence-> Reset Sequence Progress
-
Run the sequence again and wait until SGP is taking the exposures
-
Once SGP begins to take ‘ANY’ exposure click ‘Pause Sequence’ and select ‘Abort’ & check ‘Run end of sequence actions’ & click OK before the exposure completes
Sequence should have stopped pretty much immediately and the mount should have parked successfully ending with ‘Sequence Aborted’ in the status bar
Stage 3 - The Big One
-
Close the image in the view and reset the sequence using Sequence-> Reset Sequence Progress
-
Run Sequence & wait until the mount begins Slewing to M33
-
WHILE MOUNT IS SLEWING - Hit ‘Pause Sequence’, select Abort & check ‘Run end of sequence actions’ - OK
If you get what I get…
‘Run Sequence’ button greys out and has ‘Aborting’ written on it. The Freeze is upon us. SGP never becomes fully functional after this point. Mount continues to slew to it’s target (which is understandable I suppose) but the ‘Parking Mount’ never comes, the mount never moves to the home position and there’s no way to reset the sequence.
Conclusion of TRY 1
Left over night imaging or generally unattended in this situation will possibly see your scope hitting your mount due to the fact that the RA is still tracking in spite of the deliberate abort. Exactly WHEN we aborted this sequence is very significant as it proves that if an ABORT occurs while your camera is exposing then all will be fine, ABORT it while the scope is moving and SGP will always end in this Frozen situation. You will also experience the same Abort Failure if you attempt to abort while PHD2 is calibrating or dithering, again.
-
SGP will successfully Abort while it is exposing
-
SGP will fail to Abort successfully if…The mount is slewing…PHD2 is calibrating…Dithering is in progress.
Lets look for a minuet at what happens when you are guiding and a cloud moves into the frame and breaks your imaging run, Recovery will probably kick in and will repeatedly try to restart guiding by picking a star & recalibrating to resume guiding, this is exactly one of the states when an abort will cause SGP not to be able to complete it’s abort procedure, thus you will see this frozen result which you cant recover from.
Here is the abort when initiated mid exposure:
[16/01/2016 16:53:55] [DEBUG] [Main Thread] User requested sequence abort…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Camera: Attempting to abort exposure…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Camera: Exposure aborted…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Camera: Blocking until image is aborted…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] ASCOM Camera: abort message received…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] ASCOM Camera: Attempting to abort exposure…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] ASCOM Camera: Exposure aborted…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] ASCOM Camera: Blocking until image is aborted…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] ASCOM Camera: Image is aborted…
[16/01/2016 16:53:55] [DEBUG] [Camera Thread] SGM_CAMERA_CAPTURE complete…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Camera: Image is aborted…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Run event requested sequence abort…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Clearing timed monitoring events…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Checking RunEndOfSequenceEquipmentOptions, force = True
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] In RunEndOfSequenceEquipmentOptions
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Stop telescope tracking…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Telescope: Setting tracking state to False
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Parking telescope…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Telescope: Park message received.
And here it is when initiated while the mount was slewing to M33:
[16/01/2016 16:58:42] [DEBUG] [Main Thread] User requested sequence abort…
[16/01/2016 16:58:44] [DEBUG] [Main Thread] PopulateDataModel: Transferring view to the data model…
[16/01/2016 16:58:44] [DEBUG] [MF Update Thread] Performing serialize…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Scope reports it is done with synchronous slew, verifying…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Scope has completed slewing
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] DoEventGroupChange: Slew complete
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] DoEventGroupChange: Complete
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Attempting to find next event…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Current event[0] frame count: 0/10…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Looking at event[0]…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Found event event[0] with remaining frames.
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Event[0] frame count: 0/10…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Getting first event (0)…
[16/01/2016 16:59:07] [DEBUG] [Main Thread] PopulateDataModel: Transferring view to the data model…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Running capture event…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] ------------- Starting capture frame for event[0] -------------
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] Sending commands…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] SetFlatBox: Frame Type is Light
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] TEMP - Current Event2: 0
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] TEMP - Current Event10: 0
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] ASCOM Camera: Attempting to abort exposure…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] ASCOM Camera: Exposure aborted…
[16/01/2016 16:59:07] [DEBUG] [Sequence Thread] ASCOM Camera: Blocking until image is aborted…
as you’ll see in the above, there is no image in progress to abort as we were mid slew, once the slew completed SGP should really have then run the following:
16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Run event requested sequence abort…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Clearing timed monitoring events…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Checking RunEndOfSequenceEquipmentOptions, force = True
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] In RunEndOfSequenceEquipmentOptions
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Stop telescope tracking…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Telescope: Setting tracking state to False
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] Parking telescope…
[16/01/2016 16:53:55] [DEBUG] [Sequence Thread] ASCOM Telescope: Park message received.
But it didn’t get that far
Here is the LOG associated with this three stage test:
sg_logfile_20160116163527.txt (186.4 KB)
Hopefully this makes some sense and is helpful in resolving this issue
Regards
Paul