Continuous integration tests fail intermittently with no clear cause
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- github-actions, python
- 领域
- ci-cd, testing-qa
调研方向
从 tests/test_record.py 中的 test_dl_database_with_dat_file 开始,然后检查 pyproject.toml 中的 pytest 配置以及链接的 GitHub Actions 运行记录。重现 Windows 失败,并确定间歇性失败是否与 Multiprocessing 或网络下载有关;当 CI 测试能够可靠完成且不再出现报告中的崩溃时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Tests often fail with no apparent cause. For example, in the following case, tests were passing on the pull request but they failed on merge to main: https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/attempts/1
After re-running the failed tests, they passed without error: https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262. The original error is shown below:
Run pytest
============================= test session starts =============================
platform win32 -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
rootdir: D:\a\wfdb-python\wfdb-python
configfile: pyproject.toml
plugins: xdist-3.6.1
collected 67 items
tests\io\test_convert.py .. [ 2%]
tests\test_annotation.py ..... [ [10](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:11)%]
tests\test_datasource.py ........ [ 22%]
tests\test_multi_record.py ..... [ 29%]
tests\test_plot.py ....... [ 40%]
Windows fatal exception: code 0x80000003
Thread 0x000017ac (most recent call first):
File "C:\hostedtoolcache\windows\Python\3.[11](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:12).9\x64\Lib\multiprocessing\pool.py", line 579 in _handle_results
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 982 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1045 in _bootstrap_inner
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1002 in _bootstrap
Thread 0x000007e8 (most recent call first):
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 531 in _handle_tasks
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 982 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1045 in _bootstrap_inner
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1002 in _bootstrap
Thread 0x000010d8 (most recent call first):
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\connection.py", line 828 in _exhaustive_wait
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\connection.py", line 896 in wait
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 502 in _wait_for_updates
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 522 in _handle_workers
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 982 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1045 in _bootstrap_inner
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1002 in _bootstrap
Thread 0x00000f64 (most recent call first):
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\ssl.py", line 1166 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\ssl.py", line 1314 in recv_into
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\socket.py", line 706 in readinto
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\http\client.py", line 473 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 856 in _fp_read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 873 in _raw_read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 949 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 1060 in stream
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\requests\models.py", line 820 in generate
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 330 in iter_chunks
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 498 in _read_range
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 581 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\download.py", line 473 in dl_full_file
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\download.py", line 451 in dl_pn_file
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 48 in mapstar
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line [12](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:13)5 in worker
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 982 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1045 in _bootstrap_inner
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1002 in _bootstrap
Current thread 0x00001b10 (most recent call first):
Garbage-collecting
File "<frozen _collections_abc>", line 774 in get
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 452 in _init_decoder
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 936 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\urllib3\response.py", line 1060 in stream
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\requests\models.py", line 820 in generate
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 330 in iter_chunks
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 498 in _read_range
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\_url.py", line 581 in read
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\download.py", line 473 in dl_full_file
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\download.py", line 451 in dl_pn_file
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 48 in mapstar
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 125 in worker
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 982 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1045 in _bootstrap_inner
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 1002 in _bootstrap
Thread 0x0000142c (most recent call first):
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 327 in wait
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\threading.py", line 629 in wait
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 765 in wait
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 768 in get
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\multiprocessing\pool.py", line 367 in map
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\wfdb\io\record.py", line 3121 in dl_database
File "D:\a\wfdb-python\wfdb-python\tests\test_record.py", line 1150 in test_dl_database_with_dat_file
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\unittest\case.py", line 579 in _callTestMethod
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\unittest\case.py", line 623 in run
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\unittest\case.py", line 678 in __call__
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\unittest.py", line 344 in runtest
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 173 in pytest_runtest_call
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_callers.py", line 103 in _multicall
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_hooks.py", line 5[13](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:14) in __call__
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 241 in <lambda>
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 341 in from_call
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 240 in call_and_report
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 135 in runtestprotocol
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\runner.py", line 1[16](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:17) in pytest_runtest_protocol
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_callers.py", line 103 in _multicall
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_hooks.py", line 513 in __call__
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\main.py", line 364 in pytest_runtestloop
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_callers.py", line 103 in _multicall
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_hooks.py", line 513 in __call__
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\main.py", line 339 in _main
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\main.py", line 285 in wrap_session
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\main.py", line 332 in pytest_cmdline_main
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_callers.py", line 103 in _multicall
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_manager.py", line 120 in _hookexec
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\pluggy\_hooks.py", line 513 in __call__
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\config\__init__.py", line [17](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:18)8 in main
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Lib\site-packages\_pytest\config\__init__.py", line 206 in console_main
File "C:\hostedtoolcache\windows\Python\3.11.9\x64\Scripts\pytest.exe\__main__.py", line 7 in <module>
File "<frozen runpy>", line 88 in _run_code
File "<frozen runpy>", line [19](https://github.com/MIT-LCP/wfdb-python/actions/runs/9784161262/job/27014444605#step:6:20)8 in _run_module_as_main
tests\test_record.py .....................................
Error: Process completed with exit code 1.
- 主要语言
- Jupyter Notebook
- 星标
- 853
- 派生
- 322
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
MIT-LCP/wfdb-python 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 84/100
MIT-LCP/wfdb-python#572 ·
-
难度 4/5 3-5 天 新手友好度 45/100
MIT-LCP/wfdb-python#568 ·
-
难度 3/5 1-2 天 新手友好度 48/100
MIT-LCP/wfdb-python#557 ·
-
难度 2/5 1-3 小时 新手友好度 58/100
MIT-LCP/wfdb-python#554 ·
-
难度 4/5 3-5 天 新手友好度 35/100
MIT-LCP/wfdb-python#545 ·
查看 MIT-LCP/wfdb-python 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 86/100
lawndoc/stack-back#122 ·
-
software-development-practices software-development-practices:nist-ssdf
难度 2/5 1-3 小时 新手友好度 82/100
githubnext/gh-aw-cao#15860 ·
维护者通常 1 天内回复
-
framework/gatsby help wanted kind/bug
难度 2/5 1-3 小时 新手友好度 87/100
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
enhancement
难度 1/5 1 小时以内 新手友好度 92/100