curl_cffi icon indicating copy to clipboard operation
curl_cffi copied to clipboard

[BUG]test_stream_redirect_loop sometims make the whole program abort

Open perkfly opened this issue 1 year ago • 0 comments

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

perkfly avatar Dec 31 '23 13:12 perkfly