test_fork_signal_fallback fails on armv7l
Closed this issue · 5 comments
=================================== FAILURES ===================================
__________________________ test_fork_signal_fallback ___________________________
@pytest.mark.asyncio
async def test_fork_signal_fallback():
with mock.patch.object(
fork_mod, '_has_pidfd', False,
):
> await _do_test_fork_signal()
tests/test_fork.py:147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
async def _do_test_fork_signal():
def child():
try:
time.sleep(10)
except KeyboardInterrupt:
return 101
return 100
os.setpgrp()
proc = await afork(child)
assert proc._pid > 0
if isinstance(proc, PidfdChildProcess):
assert proc._pidfd > 0
proc.send_signal(signal.SIGINT)
ret = await proc.wait()
> assert ret == 101
E assert 254 == 101
E +254
E -101
Could you tell me more information on your setup (e.g., Python version, OS distribution name, kernel version (uname -a
), VM or physical node type)?
I'm getting a new M1 MacBook today and will try out there.
I cannot reproduce this with the M1 Macbook, macOS Big Sur 11.1, and Python 3.9.1 (arm64 build).
As armv7l seems to be a very different architecture from arm64 (armv8), and I believe that this behavioral difference would come from the kernel implementation differences rather than the machine architecture-specific differences.
So please let me know the exact step-by-step procedures to reproduce, including the choice of OS and underlying hardware/VM platform.
The build environment is https://build.opensuse.org/package/show/home:jayvdb:py-submit/python-aiotools . It is Linux ARM, and only the armv7l builds are broken.
It is currently broken for other reasons due to a large openSUSE python restructure which is ongoing.
It's been almost one year since last update, so I close.
This test no longer fails. Thank you.