Source: pygobject Version: 3.50.0-1 Severity: serious Tags: ftbfs Justification: fails to build from source (but built successfully in the past) User: debian-s...@lists.debian.org Usertags: s390x X-Debbugs-Cc: debian-s...@lists.debian.org, debian-powerpc@lists.debian.org, debian-sp...@lists.debian.org, debian-h...@lists.debian.org
The new version of pygobject in experimental failed some tests on s390x and other big-endian architectures (both 32- and 64-bit seem to be affected and the correlation with endianness seems strong). s390x: https://buildd.debian.org/status/fetch.php?pkg=pygobject&arch=s390x&ver=3.50.0-1&stamp=1726523016&raw=0 > =========================== short test summary info > ============================ > FAILED tests/test_async.py::TestAsync::test_async_cancel_completed - > RuntimeE... > FAILED tests/test_async.py::TestAsync::test_async_cancellation - > RuntimeError... > FAILED tests/test_async.py::TestAsync::test_async_completed_add_cb - > RuntimeE... > FAILED tests/test_async.py::TestAsync::test_async_enumerate - RuntimeError: > y... > FAILED tests/test_async.py::TestAsync::test_not_completed - RuntimeError: > yie... > ===== 5 failed, 1493 passed, 23 skipped, 10 xfailed, 66 warnings in 5.66s > ====== > ============================================================================== The detailed test results for the failing tests look like this: > async def run(): > nonlocal self > > res = f.enumerate_children_async("standard::*", 0, > GLib.PRIORITY_DEFAULT) > > await res > E RuntimeError: yield was used instead of yield from in task <Task > pending name='Task-1' > coro=<TestAsync.test_async_cancel_completed.<locals>.run() running at > /<<PKGBUILDDIR>>/tests/test_async.py:109> cb=[_run_until_complete_cb() at > /usr/lib/python3.12/asyncio/base_events.py:182]> with > gi._gi.Async(finish_func=Gio.File.enumerate_children_finish, done=False) and the -ports architectures' test failures all look consistent with what happened on s390x. The endianness dependency makes me wonder whether there is a problem with the handling of flags indicating whether to use 'yield' or 'yield from', or something like that. Before 3.50.x can go to unstable, either this will need to be addressed, or pygobject will need to be removed from s390x. Thanks, smcv