Skip to content

gh-149879: Fix multiprocessing resource tracker tests on Cygwin#150440

Merged
vstinner merged 1 commit into
python:mainfrom
vstinner:mp_sigterm
May 26, 2026
Merged

gh-149879: Fix multiprocessing resource tracker tests on Cygwin#150440
vstinner merged 1 commit into
python:mainfrom
vstinner:mp_sigterm

Conversation

@vstinner
Copy link
Copy Markdown
Member

@vstinner vstinner commented May 26, 2026

Skip test_resource_tracker_sigterm() if signal.pthread_sigmask() is missing.

Skip test_resource_tracker_sigterm() if signal.pthread_sigmask() is
missing.
@vstinner vstinner requested a review from gpshead as a code owner May 26, 2026 00:44
@bedevere-app bedevere-app Bot added tests Tests in the Lib/test dir awaiting core review labels May 26, 2026
@vstinner
Copy link
Copy Markdown
Member Author

The test fails also on Linux if signal.pthread_sigmask() is missing. Apply the patch:

diff --git a/Lib/multiprocessing/resource_tracker.py b/Lib/multiprocessing/resource_tracker.py
index d3328a8c617..a2cfcb550a8 100644
--- a/Lib/multiprocessing/resource_tracker.py
+++ b/Lib/multiprocessing/resource_tracker.py
@@ -31,7 +31,7 @@
 
 __all__ = ['ensure_running', 'register', 'unregister']
 
-_HAVE_SIGMASK = hasattr(signal, 'pthread_sigmask')
+_HAVE_SIGMASK = False
 _IGNORED_SIGNALS = (signal.SIGINT, signal.SIGTERM)
 
 def cleanup_noop(name):

Run the test:

$ ./python -m test test_multiprocessing_spawn.test_misc -m test_resource_tracker_sigterm -v
...
Traceback (most recent call last):
  File "/home/vstinner/python/main/Lib/multiprocessing/resource_tracker.py", line 453, in main
    cache[rtype].remove(name)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: '/mp-1zhvb0mv'

======================================================================
FAIL: test_resource_tracker_sigterm (test.test_multiprocessing_spawn.test_misc.TestResourceTracker.test_resource_tracker_sigterm)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vstinner/python/main/Lib/test/_test_multiprocessing.py", line 6315, in test_resource_tracker_sigterm
    self.check_resource_tracker_death(signal.SIGTERM, False)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vstinner/python/main/Lib/test/_test_multiprocessing.py", line 6307, in check_resource_tracker_death
    self.assertEqual(len(all_warn), 0)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
AssertionError: 1 != 0
...

@vstinner vstinner merged commit bc67dad into python:main May 26, 2026
95 of 97 checks passed
@vstinner vstinner deleted the mp_sigterm branch May 26, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip news tests Tests in the Lib/test dir

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant