Bug 397818 - Mount interface tricked to unknown parking state
Summary: Mount interface tricked to unknown parking state
Status: RESOLVED FIXED
Alias: None
Product: kstars
Classification: Applications
Component: general (other bugs)
Version First Reported In: 2.9.8
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Jasem Mutlaq
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-24 07:31 UTC by TallFurryMan
Modified: 2018-09-03 11:04 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description TallFurryMan 2018-08-24 07:31:34 UTC
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.
Comment 1 TallFurryMan 2018-08-28 06:23:22 UTC
Ptentially fixed by https://phabricator.kde.org/D15073
Comment 2 TallFurryMan 2018-09-03 11:04:40 UTC
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.