pytest-dev / pytest-dev/execnet

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

Open
#53 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
102
Forks
47
PR merge metrics
No merged PRs in 30d

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with testing/test_gateway.py::TestPopenGateway::test_waitclose_on_remote_killed and reproduce the failure repeatedly, using the linked Debian report and build logs for context. Done means the remote-killed case behaves consistently, raising EOFError from waitclose and IOError from channel.send without a segmentation fault.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, testing
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.