python / python/cpython

Intermittent iOS buildbot failure in test_sock_client_racing

オープン
#148,793 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

test/test_asyncio/test_sock_lowlevel.py から始め、特に KqueueEventLoopTests.test_sock_client_racing と _basetest_sock_send_racing を確認してから、リンクされている iOS buildbot の失敗と再実行を比較します。完了の条件は、iOS buildbot 上でテストが断続的に失敗しなくなり、なおかつ実際のソケットエラーを引き続き検出できることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
mobile-dev, networking, testing-qa
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。