Segfault in uvloop 0.22.1
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- python
- Bereich
- backend, networking
Rechercherichtung
Beginne damit, den Absturz mit Python 3.12.12, uvloop 0.22.1 und python -X faulthandler -m uvicorn --loop uvloop app:app zu reproduzieren, und vergleiche ihn anschließend mit --loop asyncio. Grenze die Umgebung ein und beschaffe, wenn möglich, den Coredump; abgeschlossen ist die Aufgabe, wenn die auf uvloop bezogene Ursache identifiziert und verifiziert wurde, dass dieselbe Anwendung nicht mehr segfaultet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi, I see a sefault in uviloop in my fastapi app. I can reproduce it 100% of the time inside the container.
The app is run with
python -X faulthandler -m uvicorn --loop uvloop app:app
If I switch to --loop asyncio I do not get a segfault.
Fatal Python error: Segmentation fault
Thread 0x00007fb2e380f700 (most recent call first):
File "/opt/app-root/.pixi/envs/default/lib/python3.12/threading.py", line 359 in wait
File "/opt/app-root/.pixi/envs/default/lib/python3.12/threading.py", line 655 in wait
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/opentelemetry/sdk/_shared_internal/__init__.py", line 159 in worker
File "/opt/app-root/.pixi/envs/default/lib/python3.12/threading.py", line 1012 in run
File "/opt/app-root/.pixi/envs/default/lib/python3.12/threading.py", line 1075 in _bootstrap_inner
File "/opt/app-root/.pixi/envs/default/lib/python3.12/threading.py", line 1032 in _bootstrap
Current thread 0x00007fb74a920400 (most recent call first):
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/middleware/base.py", line 120 in wrap
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/middleware/base.py", line 125 in receive_or_disconnect
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/requests.py", line 228 in stream
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/fastapi/routing.py", line 373 in app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/fastapi/routing.py", line 106 in app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42 in wrapped_app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/fastapi/routing.py", line 120 in app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/routing.py", line 290 in handle
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/routing.py", line 736 in app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/routing.py", line 716 in __call__
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18 in __call__
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42 in wrapped_app
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63 in __call__
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette_exporter/middleware.py", line 405 in __call__
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/starlette/middleware/base.py", line 144 in coro
File "/opt/app-root/.pixi/envs/default/lib/python3.12/asyncio/runners.py", line 118 in run
File "/opt/app-root/.pixi/envs/default/lib/python3.12/asyncio/runners.py", line 195 in run
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/uvicorn/server.py", line 67 in run
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/uvicorn/main.py", line 593 in run
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/uvicorn/main.py", line 423 in main
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/click/core.py", line 824 in invoke
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/click/core.py", line 1269 in invoke
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/click/core.py", line 1406 in main
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/click/core.py", line 1485 in __call__
File "/opt/app-root/.pixi/envs/default/lib/python3.12/site-packages/uvicorn/__main__.py", line 4 in <module>
File "<frozen runpy>", line 88 in _run_code
File "<frozen runpy>", line 198 in _run_module_as_main
Extension modules: uvloop.loop, httptools.parser.parser, httptools.parser.url_parser, websockets.speedups, psutil._psutil_linux, _brotli, zstandard.backend_c, gssapi.raw._enum_extensions.ext_dce, gssapi.raw._enum_extensions.ext_iov_mic, gssapi.raw.oids, gssapi.raw.types, gssapi.raw.cython_converters, gssapi.raw.misc, gssapi.raw.names, gssapi.raw.creds, gssapi.raw.chan_bindings, gssapi.raw.sec_contexts, gssapi.raw.message, gssapi.raw.exceptions, gssapi.raw.ext_s4u, gssapi.raw.ext_cred_store, gssapi.raw.ext_rfc4178, gssapi.raw.ext_rfc5587, gssapi.raw.ext_rfc5588, gssapi.raw.ext_rfc5801, gssapi.raw.ext_cred_imp_exp, gssapi.raw.mech_krb5, gssapi.raw.ext_password, gssapi.raw.ext_password_add, gssapi.raw.ext_dce_aead, gssapi.raw.ext_dce, gssapi.raw.ext_iov_mic, gssapi.raw.ext_krb5, gssapi.raw.ext_rfc6680, gssapi.raw.ext_rfc6680_comp_oid, gssapi.raw.ext_ggf, gssapi.raw.ext_set_cred_opt, _cffi_backend, work._ruamel_yaml, _ruamel_yaml, multidict._multidict, yarl._quoting_c, propcache._helpers_c, aiohttp._http_writer, aiohttp._http_parser, aiohttp._websocket.mask, aiohttp._websocket.reader_c, frozenlist._frozenlist, numpy._core._multiarray_umath, numpy.linalg._umath_linalg, pyarrow.lib, sqlalchemy.cyextension.collections, sqlalchemy.cyextension.immutabledict, sqlalchemy.cyextension.processors, sqlalchemy.cyextension.resultproxy, sqlalchemy.cyextension.util, greenlet._greenlet, pyodbc, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._pcg64, numpy.random._mt19937, numpy.random._generator, numpy.random._philox, numpy.random._sfc64, numpy.random.mtrand, pandas._libs.tslibs.ccalendar, pandas._libs.tslibs.np_datetime, pandas._libs.tslibs.dtypes, pandas._libs.tslibs.base, pandas._libs.tslibs.nattype, pandas._libs.tslibs.timezones, pandas._libs.tslibs.fields, pandas._libs.tslibs.timedeltas, pandas._libs.tslibs.tzconversion, pandas._libs.tslibs.timestamps, pandas._libs.properties, pandas._libs.tslibs.offsets, pandas._libs.tslibs.strptime, pandas._libs.tslibs.parsing, pandas._libs.tslibs.conversion, pandas._libs.tslibs.period, pandas._libs.tslibs.vectorized, pandas._libs.ops_dispatch, pandas._libs.missing, pandas._libs.hashtable, pandas._libs.algos, pandas._libs.interval, pandas._libs.lib, pyarrow._compute, pandas._libs.ops, pandas._libs.hashing, pandas._libs.arrays, pandas._libs.tslib, pandas._libs.sparse, pandas._libs.internals, pandas._libs.indexing, pandas._libs.index, pandas._libs.writers, pandas._libs.join, pandas._libs.window.aggregations, pandas._libs.window.indexers, pandas._libs.reshape, pandas._libs.groupby, pandas._libs.json, pandas._libs.parsers, pandas._libs.testing, pyarrow._feather, _cyutility, scipy._cyutility, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, google._upb._message, confluent_kafka.cimpl (total: 117)
Segmentation fault (core dumped)
Environment (abridged)
arrow_odbc 7.0.4 py312h4413252_1
fastapi 0.124.2 hc0e8453_0
orjson 3.11.4 py312h868fb18_1
pyodbc 5.3.0 py312h1289d80_0
pytest 8.4.2 pyhcf101f3_1
pytest-asyncio 0.25.3 pyh29332c3_0
python 3.12.12 hd63d673_1_cpython
simdutf 5.4.15 h5888daf_0
sqlalchemy 2.0.45 py312h4c3975b_0
uvicorn 0.38.0 pyh31011fe_0
uvloop 0.22.1 py312h4c3975b_1
I wasn't able to get a coredump because I don't have access but could possibly get one if required.
- Vorherrschende Sprache
- Cython
- Sterne
- 11.9k
- Forks
- 616
- Ø Merge
- 4 Std. 43 Min.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus MagicStack/uvloop
-
uv 1.53.0 fixEvtl. vergeben @fantix hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
MagicStack/uvloop#774 · 1 Kommentar · 1 Reaktion ·
-
License not clearOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
MagicStack/uvloop#759 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
MagicStack/uvloop#741 · 2 Reaktionen ·
-
`asyncio.get_event_loop` raises error instead of spawning new loop when no loop is running.Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
MagicStack/uvloop#702 · 8 Kommentare · 9 Reaktionen ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
MagicStack/uvloop#773 ·
Alle Issues in MagicStack/uvloop
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
decentralized-identity/didwebvh-ts#203 ·
Maintainer antworten meist innerhalb von 1 Tag
-
kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
area/map-site bug layer/core size/S
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
marola-dev/marola-app#60 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Telegram webhook: line breaks lost since switch to rich messagesEvtl. vergeben @Kshot3000 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
get_seat_availability: 'GNWL/AVAILABLE'-style statuses are reported as available with no seat countOffenbug good first issue tools
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100