curl_cffi
curl_cffi copied to clipboard
[BUG]test_stream_redirect_loop sometims make the whole program abort
To Reproduce
make test
But it happens only occasionally.
Versions
- OS: macOS with M1
- curl_cffi 0.6.0b7
Additional context
╰─>$ make test (curl_cffi2)
python -bb -m pytest tests/unittest
============================================================================================================================================================================ test session starts ============================================================================================================================================================================
platform darwin -- Python 3.8.16, pytest-7.1.2, pluggy-1.0.0
rootdir: /Users/yifei/repos/curl_cffi, configfile: pyproject.toml
plugins: asyncio-0.19.0, trio-0.7.0, anyio-3.6.2
asyncio: mode=auto
collected 147 items
tests/unittest/test_async.py .... [ 2%]
tests/unittest/test_async_session.py ...................................... [ 28%]
tests/unittest/test_cookies.py ..... [ 31%]
tests/unittest/test_curl.py ........................... [ 50%]
tests/unittest/test_headers.py ... [ 52%]
tests/unittest/test_requests.py ........................................................Fatal Python error: Aborted
Current thread 0x0000000282013000 (most recent call first):
File "/Users/yifei/repos/curl_cffi/curl_cffi/curl.py", line 268 in perform
File "/Users/yifei/repos/curl_cffi/curl_cffi/requests/session.py", line 685 in perform
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/concurrent/futures/thread.py", line 57 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/concurrent/futures/thread.py", line 80 in _worker
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 870 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 932 in _bootstrap_inner
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 890 in _bootstrap
Thread 0x0000000281007000 (most recent call first):
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/concurrent/futures/thread.py", line 78 in _worker
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 870 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 932 in _bootstrap_inner
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 890 in _bootstrap
Thread 0x000000016f913000 (most recent call first):
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/selectors.py", line 558 in select
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 1823 in _run_once
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 570 in run_forever
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 603 in run_until_complete
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/runners.py", line 44 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/uvicorn/server.py", line 60 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 870 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 932 in _bootstrap_inner
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 890 in _bootstrap
Thread 0x000000016e7ef000 (most recent call first):
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/selectors.py", line 558 in select
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 1823 in _run_once
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 570 in run_forever
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/base_events.py", line 603 in run_until_complete
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/asyncio/runners.py", line 44 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/uvicorn/server.py", line 60 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 870 in run
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 932 in _bootstrap_inner
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 890 in _bootstrap
Thread 0x00000001dfc99140 (most recent call first):
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 302 in wait
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/threading.py", line 558 in wait
File "/Users/yifei/repos/curl_cffi/curl_cffi/requests/session.py", line 704 in request
File "/Users/yifei/repos/curl_cffi/curl_cffi/requests/session.py", line 585 in stream
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/contextlib.py", line 113 in __enter__
File "/Users/yifei/repos/curl_cffi/tests/unittest/test_requests.py", line 543 in test_stream_redirect_loop
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/python.py", line 192 in pytest_pyfunc_call
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/python.py", line 1761 in runtest
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 166 in pytest_runtest_call
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 259 in <lambda>
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 338 in from_call
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 258 in call_runtest_hook
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 219 in call_and_report
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 130 in runtestprotocol
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/runner.py", line 111 in pytest_runtest_protocol
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/main.py", line 347 in pytest_runtestloop
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/main.py", line 322 in _main
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/main.py", line 268 in wrap_session
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/main.py", line 315 in pytest_cmdline_main
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_callers.py", line 39 in _multicall
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_manager.py", line 80 in _hookexec
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pluggy/_hooks.py", line 265 in __call__
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/config/__init__.py", line 164 in main
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/_pytest/config/__init__.py", line 187 in console_main
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/site-packages/pytest/__main__.py", line 5 in <module>
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/runpy.py", line 87 in _run_code
File "/opt/homebrew/Caskroom/miniconda/base/envs/curl_cffi2/lib/python3.8/runpy.py", line 194 in _run_module_as_main
gmake: *** [Makefile:41: test] Abort trap: 6