AttributeError: type object 'async_generator_asend' has no attribute 'f_lineno'
還沒有人認領這個 Issue。
評估
研究方向
在 Linux 上使用 Python 3.12.11、uvloop 0.21.0、FastAPI 和 uvicorn 重現 multipart 上傳。接著以 traceback.py 的呼叫路徑作為脈絡,檢查 uvloop/loop.pyx 中 _asyncgen_finalizer_hook 附近的程式碼,以及 uvloop/cbhandles.pyx 中 extract_stack 附近的程式碼。非同步產生器清理不再引發回報的 AttributeError,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Bug Description
Getting AttributeError: type object 'async_generator_asend' has no attribute 'f_lineno' exceptions when handling multipart form uploads in FastAPI with uvloop.
Environment
- Python version: 3.12.11
- uvloop version: 0.21.0
- OS: Linux (Docker)
- Framework: FastAPI with uvicorn
Steps to Reproduce
- Use FastAPI with uvloop enabled
- Upload file via multipart form data
- Exception appears in logs during async generator cleanup
Full Traceback
Exception ignored in: <async_generator object Request.stream at 0x7f6f1be8f920>
Traceback (most recent call last):
File "uvloop/loop.pyx", line 3187, in uvloop.loop.Loop._asyncgen_finalizer_hook
File "uvloop/loop.pyx", line 1289, in uvloop.loop.Loop.call_soon_threadsafe
File "uvloop/cbhandles.pyx", line 329, in uvloop.loop.new_Handle
File "uvloop/cbhandles.pyx", line 15, in uvloop.loop.Handle._set_loop
File "uvloop/cbhandles.pyx", line 427, in uvloop.loop.extract_stack
File "/usr/local/lib/python3.12/traceback.py", line 395, in extract
return klass._extract_from_extended_frame_gen(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/traceback.py", line 418, in _extract_from_extended_frame_gen
for f, (lineno, end_lineno, colno, end_colno) in frame_gen:
^^^^^^^^^
File "/usr/local/lib/python3.12/traceback.py", line 392, in extended_frame_gen
for f, lineno in frame_gen:
^^^^^^^^^
File "/usr/local/lib/python3.12/traceback.py", line 336, in walk_stack
yield f, f.f_lineno
^^^^^^^^^^
AttributeError: type object 'async_generator_asend' has no attribute 'f_lineno'
- 主要語言
- Cython
- 星號
- 11.9k
- 分支
- 616
- 平均合併
- 4 小時 43 分鐘
- 30 天內合併 PR
- 3
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
MagicStack/uvloop 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#759 ·
-
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#741 · 2 個 reaction ·
-
`asyncio.get_event_loop` raises error instead of spawning new loop when no loop is running.可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#702 · 8 則留言 · 9 個 reaction ·
-
難度 5/5 一週以上 新手友好度 25/100
MagicStack/uvloop#773 ·
-
UDPTransport.abort() with a queued datagram reports a fatal write error and a resume_writing() AttributeError可能已有人在做 @graingert 今天認領。 未關閉
難度 3/5 1-2 天 新手友好度 68/100
MagicStack/uvloop#771 ·
查看 MagicStack/uvloop 的全部 Issue
相似的 Issue
-
area: capture good first issue priority: P2 type: defect
難度 2/5 1-3 小時 新手友好度 78/100
jiegui2025/hwspec#51 ·
維護者通常 1 天內回覆
-
[Feature]:未關閉enhancement
難度 2/5 1-3 小時 新手友好度 65/100
-
難度 2/5 1-3 小時 新手友好度 72/100
thephpleague/commonmark#1159 ·
-
難度 2/5 1-3 小時 新手友好度 73/100
Uuriko/project-room#1554 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 74/100
EchoTools/nevr-runtime#117 · 2 則留言 ·
維護者通常 1 天內回覆