python / python/cpython

Intermittent iOS buildbot failure in test_sock_client_racing

未關閉
#148,793 4 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

OS-ios tests topic-asyncio type-bug
主要語言
Python
星號
77.2k
分支
35.9k
PR 合併指標
PR 指標待擷取

描述

Bug report

Bug description:

This is failing on about 10% of attempts. Usually it passes on a rerun:

But sometimes it fails on the rerun:

 ERROR: test_sock_client_racing (test.test_asyncio.test_sock_lowlevel.KqueueEventLoopTests.test_sock_client_racing)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "/Users/buildbot/Library/Developer/CoreSimulator/Devices/4F9AFDE7-A49A-46AD-B161-FCA22E48EA55/data/Containers/Bundle/Application/3DAA3568-C09B-454E-9E2B-4749EEB89567/iOSTestbed.app/python/lib/python3.15/test/test_asyncio/test_sock_lowlevel.py", line 273, in test_sock_client_racing
     self.loop.run_until_complete(asyncio.wait_for(
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
         self._basetest_sock_send_racing(listener, sock), 10))
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/Users/buildbot/Library/Developer/CoreSimulator/Devices/4F9AFDE7-A49A-46AD-B161-FCA22E48EA55/data/Containers/Bundle/Application/3DAA3568-C09B-454E-9E2B-4749EEB89567/iOSTestbed.app/python/lib/python3.15/asyncio/base_events.py", line 724, in run_until_complete
     return future.result()
            ~~~~~~~~~~~~~^^
   File "/Users/buildbot/Library/Developer/CoreSimulator/Devices/4F9AFDE7-A49A-46AD-B161-FCA22E48EA55/data/Containers/Bundle/Application/3DAA3568-C09B-454E-9E2B-4749EEB89567/iOSTestbed.app/python/lib/python3.15/asyncio/tasks.py", line 488, in wait_for
     return await fut
            ^^^^^^^^^
   File "/Users/buildbot/Library/Developer/CoreSimulator/Devices/4F9AFDE7-A49A-46AD-B161-FCA22E48EA55/data/Containers/Bundle/Application/3DAA3568-C09B-454E-9E2B-4749EEB89567/iOSTestbed.app/python/lib/python3.15/test/test_asyncio/test_sock_lowlevel.py", line 196, in _basetest_sock_send_racing
     sock.send(b' ' * size)
     ~~~~~~~~~^^^^^^^^^^^^^
 ConnectionResetError: [Errno 54] Connection reset by peer

@freakboy3742: FYI

CPython versions tested on:

CPython main branch

Operating systems tested on:

Other

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

從 test/test_asyncio/test_sock_lowlevel.py 開始,特別查看 KqueueEventLoopTests.test_sock_client_racing 和 _basetest_sock_send_racing,然後比較相關的 iOS buildbot 失敗紀錄和重新執行結果。完成的標準是:該測試在 iOS buildbot 上不再間歇性失敗,同時仍能偵測到真正的 socket 錯誤。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
mobile-dev, networking, testing-qa
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
冷清
描述清晰度
需要釐清
新手友好度
42/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。