MagicStack / MagicStack/uvloop

[openbsd] test_fs_event.py causes Segmentation fault in python

未关闭
#620 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Cython
星标
11.9k
派生
616
PR 合并指标
30 天内没有已合并 PR

描述

  • uvloop version: 0.20.0
  • Python version: 3.11.9
  • Platform: OpenBSD
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: Yes
  • Does uvloop behave differently from vanilla asyncio? How?:

Test output for the specific test

===>  Regression tests for py3-uvloop-0.20.0
cd /usr/ports/pobj/py-uvloop-0.20.0-python3/uvloop-0.20.0 && env PYTHONASYNCIODEBUG=1 py.test -vvv 'tests/test_fs_event.py::Test_UV_FS_EVENT_CHANGE::test_fs_event_change'
============================= test session starts ==============================
platform openbsd7 -- Python 3.11.9, pytest-8.2.0, pluggy-1.5.0 -- /usr/local/bin/python3.11
cachedir: .pytest_cache
rootdir: /usr/ports/pobj/py-uvloop-0.20.0-python3/uvloop-0.20.0
configfile: pyproject.toml
collecting ... collected 1 item

tests/test_fs_event.py::Test_UV_FS_EVENT_CHANGE::test_fs_event_change Fatal Python error: Segmentation fault

Current thread 0x0000063d21efb7d0 (most recent call first):
  File "/usr/ports/pobj/py-uvloop-0.20.0-python3/uvloop-0.20.0/tests/test_fs_event.py", line 49 in test_fs_event_change
  File "/usr/local/lib/python3.11/unittest/case.py", line 579 in _callTestMethod
  File "/usr/local/lib/python3.11/unittest/case.py", line 623 in run
  File "/usr/local/lib/python3.11/unittest/case.py", line 678 in __call__
  File "/usr/local/lib/python3.11/site-packages/_pytest/unittest.py", line 343 in runtest
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 173 in pytest_runtest_call
  File "/usr/local/lib/python3.11/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/usr/local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/usr/local/lib/python3.11/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 241 in <lambda>
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 341 in from_call
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 240 in call_and_report
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 135 in runtestprotocol
  File "/usr/local/lib/python3.11/site-packages/_pytest/runner.py", line 116 in pytest_runtest_protocol
  File "/usr/local/lib/python3.11/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/usr/local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/usr/local/lib/python3.11/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/usr/local/lib/python3.11/site-packages/_pytest/main.py", line 364 in pytest_runtestloop
  File "/usr/local/lib/python3.11/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/usr/local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/usr/local/lib/python3.11/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/usr/local/lib/python3.11/site-packages/_pytest/main.py", line 339 in _main
  File "/usr/local/lib/python3.11/site-packages/_pytest/main.py", line 285 in wrap_session
  File "/usr/local/lib/python3.11/site-packages/_pytest/main.py", line 332 in pytest_cmdline_main
  File "/usr/local/lib/python3.11/site-packages/pluggy/_callers.py", line 103 in _multicall
  File "/usr/local/lib/python3.11/site-packages/pluggy/_manager.py", line 120 in _hookexec
  File "/usr/local/lib/python3.11/site-packages/pluggy/_hooks.py", line 513 in __call__
  File "/usr/local/lib/python3.11/site-packages/_pytest/config/__init__.py", line 178 in main
  File "/usr/local/lib/python3.11/site-packages/_pytest/config/__init__.py", line 206 in console_main
  File "/usr/local/bin/py.test", line 8 in <module>

Extension modules: uvloop.loop (total: 1)
Segmentation fault (core dumped)
*** Error 139 in . (Makefile:40 'do-test')
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3090 '/usr/ports/pobj/py-uvloop-0.20.0-python3/.test_done': @cd /usr/ports/devel/...)
*** Error 2 in /usr/ports/devel/py-uvloop (/usr/ports/infrastructure/mk/bsd.port.mk:2704 'test': @lock=py3-uvloop-0.20.0;  export _LOCKS_HEL...)

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

故障报告位于 tests/test_fs_event.py 的第 49 行;首先在 OpenBSD 上使用 PYTHONASYNCIODEBUG=1 运行所提供的 pytest 命令。调查 test_fs_event_change 期间 uvloop.loop 的段错误,并验证目标测试完成时不会崩溃。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
operating-systems
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。