MagicStack / MagicStack/uvloop

[openbsd] test_fs_event.py causes Segmentation fault in python

Offen
#620 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Cython
Sterne
11.9k
Forks
616
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

* **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...)
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Der Fehler wird in Zeile 49 von tests/test_fs_event.py gemeldet; führen Sie zunächst den bereitgestellten pytest-Befehl mit PYTHONASYNCIODEBUG=1 unter OpenBSD aus. Untersuchen Sie den Segmentierungsfehler in uvloop.loop während test_fs_event_change und verifizieren Sie, dass der gezielte Test anschließend ohne Absturz abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.