python / python/cpython

Various data races in subinterpreter tests under TSAN

Open
#129,824 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

interpreter-core topic-subinterpreters type-bug
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Bug report

Thread sanitizer reports a number of data races when running subinterpreter tests

InterpreterPoolMixin (test_concurrent_futures)

I think for now it would make sense to skip the InterpreterPoolMixin tests when running with TSAN.

test__interpchannels
test__interpreters and test_interpreters
test_capi.test_misc.assign_version_tag
  • race on NEXT_GLOBAL_VERSION_TAG in assign_version_tag (see above)
Linked PRs
  • gh-129826
  • gh-129829
  • gh-135794
  • gh-136266
  • gh-143446
  • gh-143530

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 the unchecked races in test_concurrent_futures, test__interpchannels, and test__interpreters, then read the linked locations in Modules/posixmodule.c, Objects/typeobject.c, Modules/_interpchannelsmodule.c, and Modules/_struct.c. Run the affected subinterpreter tests under TSAN; done means each reported race has a reviewed resolution or documented disposition, with the linked PRs considered.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, python
Domain
backend, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.