[Python-modules-team] Bug#1000732: python3-click-threading: broken monkeypatching
Tollef Fog Heen
tfheen at err.no
Sun Nov 28 07:01:05 GMT 2021
Package: python3-click-threading
Version: 0.4.4-2
Severity: serious
X-Debbugs-Cc: none, Tollef Fog Heen <tfheen at err.no>
It seems like the monkeypatching in
/usr/lib/python3/dist-packages/click_threading/monkey.py is broken, at
least for me. I'm using python3-click-threading by way of vdirsyncer:
$ vdirsyncer -vdebug sync
debug: Using 1 maximal workers.
) -> None
lambda ) -> None: clear._real_click_fn() -> None)
error: Unknown error occurred: unmatched ')' (<string>, line 1)
error: Use `-vdebug` to see the full traceback.
debug: File "/usr/lib/python3/dist-packages/vdirsyncer/cli/__init__.py", line 30, in inner
debug: f(*a, **kw)
debug: File "/usr/lib/python3/dist-packages/vdirsyncer/cli/__init__.py", line 145, in sync
debug: with wq.join():
debug: File "/usr/lib/python3.9/contextlib.py", line 119, in __enter__
debug: return next(self.gen)
debug: File "/usr/lib/python3/dist-packages/vdirsyncer/cli/utils.py", line 364, in join
debug: with ui_worker.patch_click():
debug: File "/usr/lib/python3.9/contextlib.py", line 119, in __enter__
debug: return next(self.gen)
debug: File "/usr/lib/python3/dist-packages/click_threading/__init__.py", line 144, in patch_click
debug: with patch_ui_functions(wrapper):
debug: File "/usr/lib/python3.9/contextlib.py", line 119, in __enter__
debug: return next(self.gen)
debug: File "/usr/lib/python3/dist-packages/click_threading/monkey.py", line 50, in patch_ui_functions
debug: stub_f = eval('lambda {s}: {n}._real_click_fn({a})'
Adding a few prints shows that it's trying do do an eval of the string:
lambda ) -> None: clear._real_click_fn() -> None)
This, unsurprisingly, does not work. I'm not sure what component has
changed in a way that breaks python3-click-threading, but the patching
seems pretty brittle.
-- System Information:
Versions of packages python3-click-threading depends on:
ii python3 3.9.7-1
ii python3-click 8.0.2-1
python3-click-threading recommends no packages.
python3-click-threading suggests no packages.
-- no debconf information
--
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are
More information about the Python-modules-team
mailing list