pytest-xdist slave fail on Interrupted system call
還沒有人認領這個 Issue。
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 35/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 停滯
- 技術堆疊
- python
研究方向
從 gateway_base.Unserializer.load 開始,特別檢查報告中指出的 stream.read(1) 呼叫,並檢視那裡如何處理 IOError。如果可能,重現 pytest-xdist slave 失敗;當反序列化期間發生 Interrupted system call 時不再中止接收器路徑,且正常的訊息處理能夠繼續,即表示完成。
由索引模型根據 Issue 內容生成。
描述
- Bitbucket: https://bitbucket.org/hpk42/execnet/issue/6
- Originally reported by: @memedough
- Originally created at: 2012-04-14T03:00:30.080
Hi,
I get IOError Interrupted system call in pytest-xdist slave. Don't know why, can't see signal anywhere but fail
creating slavegateway on <__main__.Popen2IO instance at 0x20fa2d8>
RECEIVERTHREAD: starting to run
received <Message.CHANNEL_EXEC channelid=1 len=285>
received <Message.CHANNEL_DATA channelid=1 len=123>
execution starts[1]: "\nimport os\npath, nice, env = channel.receive()\
execution finished
sent <Message.CHANNEL_CLOSE channelid=1 >
1 sent channel close message
received <Message.CHANNEL_EXEC channelid=3 len=210>
1 channel.__del__
execution starts[3]: '\nimport sys, os\nchannel.send(dict(\n executa
sent <Message.CHANNEL_DATA channelid=3 len=295>
execution finished
sent <Message.CHANNEL_CLOSE channelid=3 >
3 sent channel close message
received <Message.CHANNEL_EXEC channelid=5 len=5308>
3 channel.__del__
execution starts[5]: '"""\n This module is executed in remote subpro
received <Message.CHANNEL_DATA channelid=5 len=1492>
RECEIVERTHREAD Traceback (most recent call last):
File "<string>", line 622, in _thread_receiver
File "<string>", line 802, in load
File "<string>", line 86, in read
IOError: [Errno 4] Interrupted system call
RECEIVERTHREAD entering finalization
RECEIVERTHREAD leaving finalization
sent <Message.CHANNEL_DATA channelid=5 len=451>
sent <Message.CHANNEL_DATA channelid=5 ('collectionstart', {})>
sent <Message.CHANNEL_DATA channelid=5 len=115>
sent <Message.CHANNEL_DATA channelid=5 len=163>
sent <Message.CHANNEL_DATA channelid=5 len=244>
sent <Message.CHANNEL_DATA channelid=5 len=53>
gateway_base.Unserializer.load(self) can be made work by retry if get IOError with errno == 4
while True:
opcode = self.stream.read(1) # Retry this if IOError raised here
if not opcode:
raise EOFError
- 主要語言
- Python
- 星號
- 103
- 分支
- 49
- 平均合併
- 3 天 18 小時
- 30 天內合併 PR
- 3
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
pytest-dev/execnet 的其他 Issue
-
safe_terminate() leaves the abandoned termfunc thread running and reports success anyway可能已有人在做 @inchang-ing 於 9 天前認領。 未關閉
難度 4/5 3-5 天 新手友好度 45/100
pytest-dev/execnet#429 · 2 則留言 ·
-
IPv6 support未關閉
難度 5/5 一週以上 新手友好度 25/100
pytest-dev/execnet#384 ·
-
難度 4/5 3-5 天 新手友好度 45/100
pytest-dev/execnet#374 · 3 則留言 ·
-
難度 3/5 1-2 天 新手友好度 45/100
pytest-dev/execnet#306 · 1 則留言 ·
-
難度 4/5 3-5 天 新手友好度 35/100
pytest-dev/execnet#279 · 1 個 reaction ·
查看 pytest-dev/execnet 的全部 Issue
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 85/100
Vector35/community-plugins#376 ·
-
難度 2/5 1-3 小時 新手友好度 68/100
py-econometrics/pyfixest#1883 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 65/100
ietf-tools/rfc2html#81 ·
-
難度 1/5 1 小時以內 新手友好度 88/100
mysql/mysql-operator#60 ·
-
Python: Bug: split_plaintext_paragraph / split_markdown_paragraph can return a chunk larger than max_tokens可能已有人在做 @xThreeh 今天認領。 未關閉python triage
難度 2/5 1-3 小時 新手友好度 75/100
microsoft/semantic-kernel#14566 ·
維護者通常 4 天內回覆