It is possible to trick the Ekos mount interface into returning neither parked or unparked state, leading to an infinite timer loop in the Scheduler. If for some reason the parking property of the INDI mount interface goes into state IPS_ALERT, the Mount module is unable to decide whether the mount is parked or unparked, and returns PARKING_ERROR to status requests. Because of this, the Scheduler (and other clients) cannot decide on the action to run after calling getParkingStatus(). Specifically Scheduler implements function MountParked(), which returns a boolean state, parked or not parked (that is the question). When the Mount module doesn't know, Scheduler considers the mount isn't parked. Half the time, this is a bad deduction. The Mount module is responsible of this task, thus should clarify its opinion. Note the Scheduler changed the implementation of isMountParked() in 0fa94d8 to clarify the state in case the Mount doesn't support parking.
Ptentially fixed by https://phabricator.kde.org/D15073
Fixed by https://phabricator.kde.org/D15073. "Ensure getting parking state returns a valid state, even if last action was failed. This fixes an issue arising when parking operation is aborted, that caused the Mount interface to always return PARKING_ERROR." https://phabricator.kde.org/R321:1e299fdf5613ea0a51f52abf7e16290e15f59893 Note that it is possible that the Dome interface has the same issue.