process_one catches wrong QueueEmpty exception type
- 主要語言
- Python
- 星號
- 734
- 分支
- 412
- 平均合併
- 1 天 5 小時
- 30 天內合併 PR
- 8
描述
The `process_one` function [catches](https://github.com/ipython/ipykernel/blob/db5f708f66277110e4336cb4210a12d05323c564/ipykernel/kernelbase.py#L444) `asyncio.QueueEmpty`, but `msg_queue` is a tornado Queue and `get_nowait` [raises](https://github.com/tornadoweb/tornado/blob/aa9d32d5e89b290dad69e0c6655b7497ea492e45/tornado/queues.py#L272) its own [QueueEmpty](https://github.com/tornadoweb/tornado/blob/aa9d32d5e89b290dad69e0c6655b7497ea492e45/tornado/queues.py#L47) type, not the one in asyncio. This looks like it was part of the native async refactor for ipykernel 6, so I don't know if it's as simple as changing what type is caught, or if some other change needs to be made.
ipykernel 6.2, tornado 6.1
貢獻指南
研究方向
Start at ipykernel/kernelbase.py around process_one and compare its caught exception with tornado/queues.py's get_nowait and QueueEmpty definitions linked in the issue. Run the relevant ipykernel tests, and consider the issue done when an empty msg_queue is handled without the wrong exception escaping.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- backend
- Issue 類型
- 缺陷
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100