Python 3.10 regression: injector.UnknownProvider: couldn't determine provider
Bug report
Step 1: Are you in the right place?
-
I have verified there are no duplicate active or recent bugs, questions, or requests -
I have verified that I am using the latest version of GreenWithEnvy (GWE)
Step 2: Describe your environment
- GWE version:
0.15.4-1.fc35 - Installed from source/Flatpak/AUR/other (specify):
Official Fedora repo - Distribution name and version (e.g. Ubuntu 18.10):
Fedora 35 (Beta) - Desktop Environment (e.g. Gnome 3.30):
GNOME 41 - NVIDIA driver version (e.g. 415.27):
? - CoolBits value (4, 8, 12, ..., don't know):
? - GPU (e.g. Asus Strix OC 1080 Ti):
?
Step 3: Describe the problem:
Won't work on Fedora 35 (RPM version). Crashed at startup. Downstream bug report here.
Observed Results:
__init__.py:644:provider_for:injector.UnknownProvider: couldn't determine provider for gwe.di.OverclockProfileChangedSubject to None
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 658, in get_binding
return self._get_binding(interface, only_this_binder=is_scope)
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 653, in _get_binding
raise KeyError
KeyError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/gwe", line 53, in <module>
from gwe import __main__
File "/usr/lib/python3.10/site-packages/gwe/__main__.py", line 33, in <module>
from gwe.model.current_fan_profile import CurrentFanProfile
File "/usr/lib/python3.10/site-packages/gwe/model/__init__.py", line 19, in <module>
from gwe.model.overclock_profile import OverclockProfile
File "/usr/lib/python3.10/site-packages/gwe/model/overclock_profile.py", line 29, in <module>
OVERCLOCK_PROFILE_CHANGED_SUBJECT = INJECTOR.get(OverclockProfileChangedSubject)
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 952, in get
binding, binder = self.binder.get_binding(interface)
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 667, in get_binding
binding = self.create_binding(interface)
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 582, in create_binding
provider = self.provider_for(interface, to)
File "/usr/lib/python3.10/site-packages/injector/__init__.py", line 644, in provider_for
raise UnknownProvider('couldn\'t determine provider for %r to %r' % (interface, to))
injector.UnknownProvider: couldn't determine provider for gwe.di.OverclockProfileChangedSubject to None
Local variables in innermost frame:
self: <injector.Binder object at 0x7ffb7c20cd30>
to: None
base_type: gwe.di.OverclockProfileChangedSubject
origin: None
interface: gwe.di.OverclockProfileChangedSubject
Expected Results:
Version 0.15.3 used to work on f34. Python modules updated to latest versions but maybe i missed something.
Edited by Roberto Leinardi