pytest-dev / pytest-dev/execnet

non-deterministic test_channel test failure

Open
#374 3 comments 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

Hi,

On Guix, building using Python 3.11.4 and the following dependencies:

python-hatch-vcs@0.5.0 python-hatchling@1.27.0 python-pytest-bootstrap@8.4.1

I encountered:

FAILED testing/test_channel.py::TestChannelBasicBehaviour::test_channel_passing_over_channel[main_thread_only-popen] - execnet.gateway_base.RemoteError: Traceback (most recent call last):
  File "/gnu/store/n9wcfy3gx8gk3dd2s4xgc5119ylykcha-python-execnet-2.1.1/lib/python3.11/site-packages/execnet/gateway_base.py", line 1291, in executetask
    exec(co, loc)
  File "<remote exec>", line 2, in <module>
AssertionError
= 1 failed, 465 passed, 614 skipped, 4 xfailed, 11 xpassed, 1 warning in 59.96s =

This was under high load, and it seems difficult to retrigger that same failure (I've just built the package/ran the test suite for 5 times without the problem being triggered).

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_channel.py and TestChannelBasicBehaviour::test_channel_passing_over_channel, focusing on the main_thread_only-popen case and its remote AssertionError. Reproduce the failure under high load and inspect the channel-passing behavior; done means the test no longer fails nondeterministically in the reported environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.