| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
In python/cpython@38a9956 (backported to 3.13 as python/cpython@7b0543e), Python moved the responsibility for setting the task name from `asyncio.create_task` to the `Task` constructor. While `uvloop` itself is unaffected, this causes `test_set_task_name` to fail when run with `asyncio`. Compensate for that in this particular test. It's possible that `uvloop`'s behaviour should be changed to match `asyncio`'s depending on the Python version, but that seems like a more involved change. For now, this at least gets the tests passing again. Most of this analysis and patch were from Martin Hostettler in https://bugs.debian.org/1101258#24; I just tweaked the patch slightly to ensure it still passes on older Python versions.
|
The test failures seem unrelated to my change. |
Sorry, something went wrong.
|
I'm testing this together with #658 applied in Fedora. The remaining failures I get are: =================================== FAILURES ===================================
________________ TestUVExecutors.test_executors_process_pool_01 ________________
Traceback (most recent call last):
File "/usr/lib64/python3.14/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib64/python3.14/unittest/case.py", line 660, in run
self._callTestMethod(testMethod)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib64/python3.14/unittest/case.py", line 606, in _callTestMethod
result = method()
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 35, in test_executors_process_pool_01
self.run_pool_test(concurrent.futures.ProcessPoolExecutor)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 29, in run_pool_test
self.loop.run_until_complete(run())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 24, in run
res = await asyncio.gather(*coros)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
_______________ TestAIOExecutors.test_executors_process_pool_01 ________________
Traceback (most recent call last):
File "/usr/lib64/python3.14/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib64/python3.14/unittest/case.py", line 660, in run
self._callTestMethod(testMethod)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib64/python3.14/unittest/case.py", line 606, in _callTestMethod
result = method()
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 35, in test_executors_process_pool_01
self.run_pool_test(concurrent.futures.ProcessPoolExecutor)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 29, in run_pool_test
self.loop.run_until_complete(run())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/usr/lib64/python3.14/asyncio/base_events.py", line 719, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_executors.py", line 24, in run
res = await asyncio.gather(*coros)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
___________________ TestIssue39Regr.test_issue39_regression ____________________
Traceback (most recent call last):
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_regr1.py", line 114, in test_issue39_regression
self.run_test()
~~~~~~~~~~~~~^^
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_regr1.py", line 93, in run_test
addr = qout.get()
File "/usr/lib64/python3.14/multiprocessing/queues.py", line 101, in get
res = self._recv_bytes()
File "/usr/lib64/python3.14/multiprocessing/connection.py", line 222, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/usr/lib64/python3.14/multiprocessing/connection.py", line 447, in _recv_bytes
buf = self._recv(4)
File "/usr/lib64/python3.14/multiprocessing/connection.py", line 412, in _recv
chunk = read(handle, to_read)
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_regr1.py", line 74, in on_alarm
raise FailedTestError
tests.test_regr1.FailedTestError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/python3.14/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib64/python3.14/unittest/case.py", line 660, in run
self._callTestMethod(testMethod)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib64/python3.14/unittest/case.py", line 606, in _callTestMethod
result = method()
File "/builddir/build/BUILD/python-uvloop-0.21.0-build/uvloop-0.21.0/_empty/tests/test_regr1.py", line 116, in test_issue39_regression
self.fail('deadlocked in libuv')
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.14/unittest/case.py", line 741, in fail
raise self.failureException(msg)
AssertionError: deadlocked in libuv
|
Sorry, something went wrong.
|
@fantix our CI seem to consistently crash |
Sorry, something went wrong.
This was for Cython 3.0 beta to test with Python 3.13, but it's now breaking our tests with Cython 3.1, while Cython 3.0 stable is out.
Changes ======= * Fixes for Python 3.14 (#638) (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637) Fixes ===== * Use Cython `enum` for `__PREALLOCED_BUFS` (#634) (by @jakirkham in 7bb12a1 for #634) * test: fix getaddrinfo test (#663) (by @fantix in 5680792 for #663) * test: fix task name for Python 3.13.3/3.14 (#662) (by @cjwatson in 96b7ed3 for #662)
Changes ======= * Fixes for Python 3.14 (#638) (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637) * Add free-threading support (#693) (by @kumaraditya303 in 286b370 for #642) Fixes ===== * Use Cython `enum` for `__PREALLOCED_BUFS` (#634) (by @jakirkham in 7bb12a1 for #634) * test: fix getaddrinfo test (#663) (by @fantix in 5680792 for #663) * test: fix task name for Python 3.13.3/3.14 (#662) (by @cjwatson in 96b7ed3 for #662)
Changes ======= * Fixes for Python 3.14 (#638) (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637) * Add free-threading support (#693) (by @kumaraditya303 in 286b370 for #642) Fixes ===== * Use Cython `enum` for `__PREALLOCED_BUFS` (#634) (by @jakirkham in 7bb12a1 for #634) * test: fix getaddrinfo test (#663) (by @fantix in 5680792 for #663) * test: fix task name for Python 3.13.3/3.14 (#662) (by @cjwatson in 96b7ed3 for #662)
Changes ======= * Fixes for Python 3.14 (#638) (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637) * Add free-threading support (#693) (by @kumaraditya303 in 286b370 for #642) Fixes ===== * Use Cython `enum` for `__PREALLOCED_BUFS` (#634) (by @jakirkham in 7bb12a1 for #634) * test: fix getaddrinfo test (#663) (by @fantix in 5680792 d9fa054 for #663) * test: fix task name for Python 3.13.3/3.14 (#662) (by @cjwatson in 96b7ed3 for #662)
Changes ======= * Fixes for Python 3.14 (#638) (by @graingert @hroncok @paulocheque @fantix in 46456b6 for #637) * Add free-threading support (#693) (by @kumaraditya303 in 286b370 for #642) Fixes ===== * Use Cython `enum` for `__PREALLOCED_BUFS` (#634) (by @jakirkham in 7bb12a1 for #634) * test: fix getaddrinfo test (#663) (by @fantix in 5680792 d9fa054 for #663) * test: fix task name for Python 3.13.3/3.14 (#662) (by @cjwatson in 96b7ed3 for #662)
| Back | FazBrowse Home | New Git URL |
In
python/cpython@38a9956 (backported to 3.13 as
python/cpython@7b0543e), Python moved the responsibility for setting the task name from asyncio.create_task to the Task constructor. While uvloop itself is unaffected, this causes test_set_task_name to fail when run with asyncio. Compensate for that in this particular test.
It's possible that uvloop's behaviour should be changed to match asyncio's depending on the Python version, but that seems like a more involved change. For now, this at least gets the tests passing again.
Most of this analysis and patch were from Martin Hostettler in https://bugs.debian.org/1101258#24; I just tweaked the patch slightly to ensure it still passes on older Python versions.