Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1913435
Summary: | python-ZEO fails to build with Python 3.10: gather() got an unexpected keyword argument 'loop' (in uvloop, fixed upstream) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | python-ZEO | Assignee: | Jerry James <loganjerry> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | loganjerry, mhroncok, thrnciar |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-01-07 10:04:12 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1890881 |
Description
Miro Hrončok
2021-01-06 18:42:04 UTC
The server is failing to start: ERROR ZEO.tests.forker:_forker.py:154 In server thread Traceback (most recent call last): File "/builddir/build/BUILD/ZEO-5.2.2/src/ZEO/_forker.py", line 121, in runner server.create_server() File "/builddir/build/BUILD/ZEO-5.2.2/src/ZEO/runzeo.py", line 249, in create_server self.server = create_server(self.storages, self.options) File "/builddir/build/BUILD/ZEO-5.2.2/src/ZEO/runzeo.py", line 344, in create_server return StorageServer( File "/builddir/build/BUILD/ZEO-5.2.2/src/ZEO/StorageServer.py", line 757, in __init__ self.acceptor = Acceptor(self, addr, ssl, msgpack) File "/builddir/build/BUILD/ZEO-5.2.2/src/ZEO/asyncio/server.py", line 235, in __init__ server = loop.run_until_complete(f) File "uvloop/loop.pyx", line 1456, in uvloop.loop.Loop.run_until_complete File "uvloop/loop.pyx", line 1685, in create_server TypeError: gather() got an unexpected keyword argument 'loop' It looks like ZEO expects a several years old version of uvloop. I'll have to see if we can port forward to a more recent version. src/ZEO/asyncio/compat.py does this: if PY3: import asyncio try: from uvloop import new_event_loop except ImportError: from asyncio import new_event_loop I have verified that if I remove the uvloop BR, forcing the use of asyncio, that all tests pass. So the problem is definitely related to uvloop somehow. But isn't uvloop supposed to be a drop-in replacement for asyncio? The code above is the only explicit mention of uvloop in the sources. Does that mean there is a bug in uvloop, since asyncio works as expected? Line 1685 of /usr/lib64/python3.10/site-packages/uvloop/loop.pyx: infos = await aio_gather(*fs, loop=self) There's the unexpected 'loop' keyword argument right there. > Does that mean there is a bug in uvloop, since asyncio works as expected? It seems so. If you want to open a bugzilla for uvloov, please mark it as blocking this one, but do not reassign this bugzilla (we use it for tracking purposes). Fixed upstream in https://github.com/MagicStack/uvloop/commit/2870219558eba983813aeab249e08371266ab524 FEDORA-2021-a3274e88eb has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report. Thank you for the diagnosis and fix, Miro! |