Closed
Description
The problem is that the first subprocess.Popen may not be removed immediately after with self.subprocess_send_signal(pid, "SIGHUP") as child:
block, it can survive a little bit. But while it is being deleted automatically, oooops, sigusr1_handler() triggers and raises an SIGUSR1Exception exception which is logged as an "ignored exception", but it is ignored! The test fails.
GHA macOS:
======================================================================
FAIL: test_interprocess_signal (test.test_signal.PosixTests.test_interprocess_signal)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/runner/work/cpython/cpython/Lib/test/test_signal.py", line 108, in test_interprocess_signal
assert_python_ok(script)
File "/Users/runner/work/cpython/cpython/Lib/test/support/script_helper.py", line 166, in assert_python_ok
return _assert_python(True, *args, **env_vars)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/runner/work/cpython/cpython/Lib/test/support/script_helper.py", line 151, in _assert_python
res.fail(cmd_line)
File "/Users/runner/work/cpython/cpython/Lib/test/support/script_helper.py", line 76, in fail
raise AssertionError("Process return code is %d\n"
AssertionError: Process return code is 1
command line: ['/Users/runner/work/cpython/cpython/python.exe', '-X', 'faulthandler', '-I', '/Users/runner/work/cpython/cpython/Lib/test/signalinterproctester.py']
stdout:
---
---
stderr:
---
Exception ignored in: <function Popen.__del__ at 0x109080dd0>
Traceback (most recent call last):
File "/Users/runner/work/cpython/cpython/Lib/subprocess.py", line 1120, in __del__
def __del__(self, _maxsize=sys.maxsize, _warn=warnings.warn):
File "/Users/runner/work/cpython/cpython/Lib/test/signalinterproctester.py", line 23, in sigusr1_handler
raise SIGUSR1Exception
SIGUSR1Exception:
F
======================================================================
FAIL: test_interprocess_signal (__main__.InterProcessSignalTests.test_interprocess_signal)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/runner/work/cpython/cpython/Lib/test/signalinterproctester.py", line 62, in test_interprocess_signal
with self.assertRaises(SIGUSR1Exception):
AssertionError: SIGUSR1Exception not raised
----------------------------------------------------------------------
Ran 1 test in 0.252s
FAILED (failures=1)
---
----------------------------------------------------------------------
Ran 46 tests in 132.286s
FAILED (failures=1, skipped=10)
build: https://github.com/python/cpython/actions/runs/6340922718/job/17223429951?pr=110026
Linked PRs
Metadata
Metadata
Assignees
Labels
No labels