diff mbox series

[meta-python,08/16] python3-pyzmq: deselect test_process_teardown (fork-safety flake under qemu)

Message ID 20260829001108.559544-8-khem.raj@oss.qualcomm.com
State New
Headers show
Series [meta-python,01/16] python3-bleak: fetch git tag with tests/ for ptest instead of PyPI sdist | expand

Commit Message

Khem Raj Aug. 29, 2026, 12:10 a.m. UTC
From: Khem Raj <raj.khem@gmail.com>

test_process_teardown forks a child process while the parent has an
active zmq/asyncio context (ZeroMQ's own docs call forking with a live
context+IO-thread undefined behavior); under qemu's slower/different
scheduling the forked child intermittently dies with exit code 1
instead of exiting 0. Reproduces reliably on target but never locally
(isolated, whole-file, or whole-suite runs all pass), consistent with
an environment-specific fork-safety issue rather than a logic bug.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../recipes-devtools/python/python3-pyzmq/run-ptest      | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest b/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
index beefefa663..e7e14951c2 100644
--- a/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
+++ b/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
@@ -1,4 +1,11 @@ 
 #!/bin/sh
 
+# test_process_teardown forks a child process while the parent has an
+# active zmq/asyncio context (ZeroMQ's own docs call forking with a live
+# context+IO-thread undefined behavior); under qemu's slower/different
+# scheduling the forked child intermittently dies with exit code 1 instead
+# of exiting 0. Reproduces reliably on target but never locally (isolated,
+# whole-file, or whole-suite runs all pass), consistent with an
+# environment-specific fork-safety issue rather than a logic bug.
 pytest --automake \
--k 'not test_callable_check and not test_on_recv_basic and not test_on_recv_wake and not test_on_recv_async and not test_on_recv_async_error and not test_curve'
+-k 'not test_callable_check and not test_on_recv_basic and not test_on_recv_wake and not test_on_recv_async and not test_on_recv_async_error and not test_curve and not test_process_teardown'