Skip to content

Commit

Permalink
pythongh-117657: Skip test when running under TSan (pythonGH-121549)
Browse files Browse the repository at this point in the history
The ProcessPoolForkserver combined with resource_tracker starts a thread
after forking, which is not supported by TSan.

Also skip test_multiprocessing_fork for the same reason
  • Loading branch information
colesbury authored and estyxx committed Jul 17, 2024
1 parent e48aa84 commit 6854392
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions Lib/test/test_concurrent_futures/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ def _test(self, test_class):
def test_spawn(self):
self._test(ProcessPoolSpawnFailingInitializerTest)

@support.skip_if_sanitizer("TSAN doesn't support threads after fork", thread=True)
def test_forkserver(self):
self._test(ProcessPoolForkserverFailingInitializerTest)

Expand Down
3 changes: 3 additions & 0 deletions Lib/test/test_multiprocessing_fork/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@
if sys.platform == 'darwin':
raise unittest.SkipTest("test may crash on macOS (bpo-33725)")

if support.check_sanitizer(thread=True):
raise unittest.SkipTest("TSAN doesn't support threads after fork")

def load_tests(*args):
return support.load_package_tests(os.path.dirname(__file__), *args)

0 comments on commit 6854392

Please sign in to comment.