(Beta 7) crashing

Yesterday evening it was finally clear for an hour. Started (Beta 7) and when starting a sequence, SGP crashed. Second time the sequence started but after the first image it crashed again.
Because the cloudless time was limited I went back to 2.0.2638 then the clouds came back.

sg_logfile_20150126205745.txt (72.8 KB)
sg_logfile_20150126194819.txt (70.1 KB)

Looks like your ASCOM install is bad in that you are (at least) missing the (or have a corrupted) Novas install. Your mount seems to have a dependency on this component:

[1/26/2015 8:54:55 PM] [DEBUG] [CP Update Thread] ASCOM Telescope: Error in GetCurrentPos : Unable to open ephemeris file: C:\Program Files (x86)\Common Files\ASCOM\Astrometry\JPLEPH, RC: 11
   at ASCOM.Astrometry.NOVAS.NOVAS31..ctor() in C:\ASCOM Build\Export\ASCOM.Astrometry\ASCOM.Astrometry\NOVAS31.vb:line 84
   at ASCOM.Astrometry.AstroUtils.AstroUtils..ctor() in C:\ASCOM Build\Export\ASCOM.Astrometry\ASCOM.Astrometry\AstroUtils.vb:line 32
   at aj.a(Double ra)
   at aj.GetCurrentPosition(Boolean force)


That’s odd. Never used or installed Novas and “C:\ASCOM Build” doesn’t exist and has never existed. I’m sure my mount doesn’t use it (EQ6 +EQMOD). This only happens with the beta 7.

I’ve had a look and what seems to be happening is that creating the low level novas31 class can fail if multiple instances are created at the same time.

This can be fixed by putting a lock round the AstroUtils constructor to prevent this, or using one instance. The AstroUtils constructor is pretty expensive so I’d avoid creating it too often.


Chris, this fix where has it to be applied?

I’d fix it in SGP by having one instance of AstroUtils that is used everywhere rather than multiple instances.

This is after spending some time investigating what is going on and the bottom line is that it is probably not practical to make the AstroUtils code totally thread safe. Locks round the constructor and calls to AstroUtils functions help but don’t seem to be enough.


Thanks! Has this fix been included in Beta 8?

We have made some changes in beta 9. We cannot reproduce the issue so I am not sure if they will help.

Please let us know if you see any difference in beta 9. If you still see the same behavior we have an alternate solution to what we believe is causing the issue.

Yesterday evening it was finally clear and able to test beta 9 and I can say as far as I can see everything works!