pybind / pybind/pybind11

Race condition in test_python_to_cpp_to_python_from_process test on 3.9?

Open
#2,391 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ci flake
Dominant language
C++
Stars
18k
Forks
2.3k
Avg merge
5d 17h
Merged PRs (30d)
10

Description

Not sure what's going on, but this test failed again on 3.9, completely unrelated to the actual changes.
I don't know what that test is about, but I thought I'd log it.

Do we have a race condition? Does CPython 3.9 have a race condition?

__________________ test_python_to_cpp_to_python_from_process ___________________

    def test_python_to_cpp_to_python_from_process():
        """Makes sure there is no GIL deadlock when using processes.
    
        This test is for completion, but it was never an issue.
        """
>       assert _run_in_process(_python_to_cpp_to_python) == 0
E       assert -11 == 0
E        +  where -11 = _run_in_process(_python_to_cpp_to_python)

test_gil_scoped.py:81: AssertionError

Contributor guide

Open the contributing guide

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 test_gil_scoped.py at test_python_to_cpp_to_python_from_process and reproduce the failure on Python 3.9. Trace _run_in_process and _python_to_cpp_to_python to determine whether the -11 exit is a race or interpreter-specific failure; done means the cause is established and the test or underlying issue is addressed with regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.