OSError exception in logitech_receiver/base.py
Created by: rathann
Information
- Solaar version (
solaar --version
orgit describe --tags
if cloned from this repository): 1.0.4 - Distribution: Fedora 33
- Kernel version (ex.
uname -srmo
): 5.10.17-200.fc33.x86_64 - Output of
solaar show
: N/A (asked reporter to provide)
Describe the bug Solaar crashes with unhandled OSError exception.
Truncated backtrace:
base.py:262:_read:logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'Input/output error')}
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/logitech_receiver/base.py", line 258, in _read
data = _hid.read(int(handle), _MAX_READ_SIZE, timeout)
File "/usr/lib/python3.9/site-packages/hidapi/udev.py", line 365, in read
data = _os.read(device_handle, bytes_count)
OSError: [Errno 5] Input/output error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/solaar/ui/__init__.py", line 154, in <lambda>
application.connect('startup', lambda app, startup_hook: _startup(app, startup_hook, use_tray, show_window), startup_hook)
File "/usr/lib/python3.9/site-packages/solaar/ui/__init__.py", line 114, in _startup
startup_hook()
File "/usr/lib/python3.9/site-packages/solaar/listener.py", line 301, in start_all
_process_receiver_event('add', device_info)
File "/usr/lib/python3.9/site-packages/solaar/listener.py", line 377, in _process_receiver_event
_start(device_info)
File "/usr/lib/python3.9/site-packages/solaar/listener.py", line 286, in _start
receiver.status.changed(True)
File "/usr/lib/python3.9/site-packages/logitech_receiver/status.py", line 307, in changed
for s in d.settings:
File "/usr/lib/python3.9/site-packages/logitech_receiver/device.py", line 341, in settings
self._feature_settings_checked = _check_feature_settings(self, self._settings)
File "/usr/lib/python3.9/site-packages/logitech_receiver/settings_templates.py", line 763, in check_feature_settings
setting = check_feature(device, name, featureId, featureFn)
File "/usr/lib/python3.9/site-packages/logitech_receiver/settings_templates.py", line 741, in check_feature
if featureId not in device.features:
File "/usr/lib/python3.9/site-packages/logitech_receiver/hidpp20.py", line 315, in __contains__
reply = self.device.request(0x0000, _pack('!H', ivalue))
File "/usr/lib/python3.9/site-packages/logitech_receiver/device.py", line 424, in request
return _base.request(
File "/usr/lib/python3.9/site-packages/logitech_receiver/base.py", line 399, in request
reply = _read(handle, timeout)
File "/usr/lib/python3.9/site-packages/logitech_receiver/base.py", line 262, in _read
raise NoReceiver(reason=reason)
logitech_receiver.base.NoReceiver: {'reason': OSError(5, 'Input/output error')}
Local variables in innermost frame:
handle: <_ThreadedHandle(/dev/hidraw0)>
timeout: 4000
To Reproduce Steps to reproduce the behavior: unknown, asked reporter to reproduce
Additional context Downstream bug report (private). Looks similar to the last one in #995 (closed) .