seeing-things/track

Crash on gamepad button press

Closed this issue · 1 comments

I did a blind track to a star and pushed the B button on the controller. This caused the program to crash with the following:

Traceback (most recent call last):
  File "/home/rgottula/dev/venv/bin/track", line 11, in <module>
    load_entry_point('track', 'console_scripts', 'track')()
  File "/home/rgottula/dev/track/track/__main__.py", line 136, in main
    tracker.run()
  File "/home/rgottula/dev/track/track/control.py", line 512, in run
    stop_reason = self._finish_control_cycle(
  File "/home/rgottula/dev/track/track/control.py", line 639, in _finish_control_cycle
    pt.field(f'rate_axis_{axis}', rate_command.rates[axis])
AttributeError: 'NoneType' object has no attribute 'rates'
Gemini class shutdown method called
libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/PW�/bConfigurationValue failed ret=-1 errno=2
Segmentation fault (core dumped)

I was on commit a2c8f66b9 on branch guidescope-offset-automated-dirty

The problem is that the rate_command and rate_command_time_error arguments to _finish_control_cycle()' are supposed to be optional, but when they are None` the method still tries to access them to write them to the telemetry database.