-
Notifications
You must be signed in to change notification settings - Fork 590
Open
Description
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:appIf 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.
Metadata
Metadata
Assignees
Labels
No labels