pytest-dev / pytest-dev/execnet

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

Ouverte
#53 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
102
Forks
47
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par testing/test_gateway.py::TestPopenGateway::test_waitclose_on_remote_killed et reproduisez l’échec à plusieurs reprises, en utilisant le rapport Debian lié et les journaux de build comme contexte. Le travail est terminé lorsque le cas remote-killed se comporte de manière cohérente, en levant EOFError depuis waitclose et IOError depuis channel.send, sans segmentation fault.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
distributed-systems, testing
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.