MagicStack / MagicStack/uvloop
[openbsd] test_fs_event.py causes Segmentation fault in python
まだ誰も着手していません。
- 主要言語
- 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
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
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...)
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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