From 2a3613339410989e06ee3526581322386c8fc376 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 27 Sep 2026 11:18:11 -0700 Subject: [PATCH] python3-pyzmq: skip test_close_all_fds ptest on musl test_close_all_fds closes the socket through the IOLoop's shadow socket and then reads s.closed. pyzmq implements that by calling zmq_getsockopt() on the handle, which libzmq's reaper thread may already have freed. With glibc the memory stays mapped, libzmq's tag check fails and ENOTSOCK comes back; musl's allocator can unmap it, so the ptest run segfaults intermittently and loses every result after it: File ".../tests/test_future.py", line 319 in test_close_all_fds Segmentation fault (core dumped) Closing a socket via a shadow and then querying .closed on the original segfaults on musl every time in a standalone reproducer and survives on glibc. Skip the test for musl. Tested with meta-python-image-ptest-python3-pyzmq on qemux86-64 with yoe-musl-systemd-wayland. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- meta-python/recipes-devtools/python/python3-pyzmq_27.2.0.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-python/recipes-devtools/python/python3-pyzmq_27.2.0.bb b/meta-python/recipes-devtools/python/python3-pyzmq_27.2.0.bb index 606e34e69f..bbce601f3f 100644 --- a/meta-python/recipes-devtools/python/python3-pyzmq_27.2.0.bb +++ b/meta-python/recipes-devtools/python/python3-pyzmq_27.2.0.bb @@ -61,3 +61,9 @@ do_install_ptest() { cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ install -m 0644 ${S}/pytest.ini ${D}${PTEST_PATH}/pytest.ini } + +do_install_ptest:append:libc-musl() { + sed -i -e "s/ and not test_process_teardown'/ and not test_process_teardown and not test_close_all_fds'/" \ + ${D}${PTEST_PATH}/run-ptest + grep -q "not test_close_all_fds'" ${D}${PTEST_PATH}/run-ptest || bbfatal "failed to skip test_close_all_fds in run-ptest" +}