pytest-dev / pytest-dev/execnet

testing/test_gateway.py::TestPopenGateway::test_waitclose_on_remote_killed FAILED/PASSEDSegmentation fault

オープン
#53 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

主要言語
Python
スター
102
フォーク
47
PR マージ指標
30日以内にマージされた PR はありません

説明

We've got this test failure here on the Debian package. It appears randomly (however, oftenly), so it's hard to tell what triggers this, nor how to successfully reproduce it.

=================================== FAILURES ===================================
_______________ TestPopenGateway.test_waitclose_on_remote_killed _______________

self = <test_gateway.TestPopenGateway object at 0x7fbe7777a518>
makegateway = <bound method Group.makegateway of <Group ['gw0']>>

    def test_waitclose_on_remote_killed(self, makegateway):
        gw = makegateway('popen')
        channel = gw.remote_exec("""
                import os
                import time
                channel.send(os.getpid())
                time.sleep(100)
            """)
        remotepid = channel.receive()
        py.process.kill(remotepid)
        py.test.raises(EOFError, "channel.waitclose(TESTTIMEOUT)")
>       py.test.raises(IOError, channel.send, None)
E       Failed: DID NOT RAISE <class 'OSError'>

testing/test_gateway.py:251: Failed

Anyway, any hint on this or a fix would be very welcome.
The corresponding bug report is https://bugs.debian.org/854494, please see there for moreinfo and buildlogs.
DS

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

testing/test_gateway.py::TestPopenGateway::test_waitclose_on_remote_killed から始め、リンクされた Debian レポートとビルドログをコンテキストとして使用して、失敗を繰り返し再現します。完了の条件は、remote-killed のケースが一貫して動作し、セグメンテーションフォルトを起こさずに waitclose から EOFError を、channel.send から IOError を発生させることです。

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

評価

技術スタック
python
領域
distributed-systems, testing
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

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

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